25

我想搜索它的出现adabcd在哪里bc是可选的。我怎样才能做到这一点?IE,

+-------+----------+
| ad    | MATCH    |
| abcd  | MATCH    |
| abd   | NO match |
| abbd  | NO match |
| abced | NO match |
| abcbcd| NO match |
+-------+----------+
4

2 回答 2

41

解决方案:
选项 1:ad\|abcd
选项 2:a\(bc\)\=d
选项 3:a\(bc\)\?d

关闭但不完全:
选项 4:(a\(bc\)\{-\}d零个或多个;匹配不需要的abcbcd

说明:

+--------+--------------------------+
| \|     | logical OR (alternation) |
| \(bc\) | treat `bc` as a group    |
| \=     | zero or one occurrences  |
| \?     | zero or one occurrences  |
| \{-\}  | zero or more occurrences |
+--------+--------------------------+
于 2013-03-08T22:29:52.387 回答
7

好吧,我可能很愚蠢,但如果要求是

搜索出现的 ad 和 abcd,其中 bc 是可选的。

为什么不简单明了/ad\|abcd

于 2013-03-08T23:21:44.490 回答