我想搜索它的出现ad
和abcd
在哪里bc
是可选的。我怎样才能做到这一点?IE,
+-------+----------+
| ad | MATCH |
| abcd | MATCH |
| abd | NO match |
| abbd | NO match |
| abced | NO match |
| abcbcd| NO match |
+-------+----------+
解决方案:
选项 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 |
+--------+--------------------------+
好吧,我可能很愚蠢,但如果要求是
搜索出现的 ad 和 abcd,其中 bc 是可选的。
为什么不简单明了/ad\|abcd
?