【发布时间】:2013-02-02 17:07:40
【问题描述】:
我想匹配字符串中的一系列字母。例如,如果我有字母 T B E,我想匹配所有以字母 T 开头并包含字母 B 和 E 至少一次的字符串。第二个字母必须出现在第三个之前,并且字母之间可能有无数个字符。
那是字母 T B E 将匹配字符串 表,麻烦和可怕,但不是 Teb。
我正在尝试使用 php 在 php 中编写代码
$A = 'T';
$B = 'B';
$C = 'E';
$matches = preg_grep('/^'.$A.'.+'.$B.'.+'.$C.'/', $words);
其中 words 是一个包含单词列表的数组。以我的算法工作,但我无法找到 $A $B 或 $C 之间没有字母的单词。
我将如何使用正则表达式来解决这个问题?
【问题讨论】:
-
Terrible不应该匹配。 e 出现在 b 之前 -
好吧,我希望 Terrible 在这种情况下匹配。重要的是 e 在 b 之后至少出现一次。之前发生与否都没有关系。