当前位置: 首页 > 面试题库 >

PHP preg_match查找整个单词

叶富
2023-03-14
问题内容

我对正则表达式很陌生。您能帮我创建一个匹配整个单词,包含特定部分的模式吗?例如,如果我有一个文本字符串“执行正则表达式匹配”,并且如果我搜索
express ,它将给我 expression ;如果我搜索 form ,它将给我 Perform 等。有这个主意吗?


问题答案:
preg_match('/\b(express\w+)\b/', $string, $matches); // matches expression
preg_match('/\b(\w*form\w*)\b/', $string, $matches); // matches perform,
                                                     // formation, unformatted

哪里:

  • \b 是单词边界
  • \w+是一个或多个“单词”字符*
  • \w* 是零个或多个“单词”字符

有关PCRE的信息,请参见有关转义序列的手册。

*注意:虽然不是真正的“单词字符”,但下划线_也包含在字符类中\w



 类似资料:
  • 我有一篇很长的文章,还有一长串我想在这篇文章中找到的单词。 现在,为了搜索这些单词,我检查“正则表达式”,然后找到“word1 | word2 | word3 | word4…”问题是,如果其中一个单词是“eat”,那么包含“eat”的每个单词也会高亮显示。我怎样才能防止呢?

  • 问题内容: 我在MySql DB的一个表中有一个文本列。我想获取在文本列中具有特定单词的所有记录。例如: 在这种情况下,当搜索“ cto”时,我希望查询返回记录1,2,3,4,而不是5。 有任何想法吗? ps我希望它不区分大小写 问题答案: 您可能希望根据全文索引使用全文索引。否则,您可以使用REGEXP来指定正则表达式来搜索单词。您应该看到此问题(和答案),以了解如何使用REGEXP查找单词。

  • 我尝试了以下代码。 但它总是打印 我有以下excel文件: 现在,如果我将acc_no的值更改为1、2或3,它将打印未找到的。如果我将acc_no的值从字符串“acc_no”更改为字符串“acc_no”,则会找到它。我想这意味着它总是只扫描第一行,而不是所有的行。。谁能给我一个建议或者我写了一个错误的代码。。。

  • 结论如下:[0,2]->[1,2]->[2,2]->[2,3]->[2,4]->[3,4]->[4,4]->[5,4]->[5,3]->[5,2]->[5,1]->[4,1]->[4,2]->[3,2]->[3,1]->[2,1]->[2,2]->[1,2]->[2,2]->[1,2]->[2,2]->[2,2]->[1,2]->[2,2]->[2,2]->[2,2]->[1,2] 我不明白故障在

  • 给定两个文件会产生一个算法/程序来查找文件1中的单词,而不是文件2中的单词。请注意,文件中的单词不是按顺序排列的。 这是我的思考过程: 步骤1:读取文件2的单词并将其添加到哈希集 如果两个文件中的字数都只有100或1000个,那么这个算法就可以正常工作 但是,如果两个文件都很大(数十亿字),那么此解决方案将无法工作,因此我提出了一个改进的解决方案: 步骤1:逐字阅读文件2,并按字母顺序对单词进行排

  • 问题内容: 我想查找并替换整个数据库,而不仅仅是一个表。 我该如何更改以下脚本才能工作? 我只使用星号吗? 问题答案: sqldump到文本文件,查找/替换,重新导入sqldump。 将数据库转储到文本文件 对其进行更改后,还原数据库。