如何解决Preg_match当字符串有时是一个单词时?
| 我正在尝试从电子邮件主题行中抽出一个字来用作附加电子邮件的类别。 Preg_match非常有用,只要它不仅是一个单词(无论如何我都想这样做)。如果主题行中只有一个单词,我将得到一个空数组。在这种情况下,我曾尝试将$ matches视为一个变量,但这也不起作用。谁能告诉我preg_match是否适用于单个单词,或者有什么更好的方法呢? 非常感谢解决方法
假设
\\b(?:word1|word2|word3)\\b
它不匹配\“ word1 \”的原因是因为您包括了一个单词分隔符\\b
。
您可以做的就是简单地始终注入单词分隔符:
preg_match(\"\\b(?:word1|word2|word3)\\b\",\".\" . $subject . \".\",$matches);
粗暴但有效。
, preg_match
将作用于一个字符长的字符串。我认为这里的问题可能是您的正则表达式。我的猜测是您正在测试空白,因为找不到任何空白,说明没有匹配项。尝试在您的正则表达式后附加ѭ4,我打赌它将开始选择那些单词值。 ([^\\s]
表示给我任何其中没有空格的内容,|
表示给我“或”。通过将其添加到正则表达式的前面,它将包括无空格的内容或您已有的内容)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。