我想搜索ad
和abcd
的出现位置bc
是可选的。我怎样才能做到这一点?即,
+-------+----------+
| ad | MATCH |
| abcd | MATCH |
| abd | NO match |
| abbd | NO match |
| abced | NO match |
| abcbcd| NO match |
+-------+----------+
答案 0 :(得分:28)
解决方案:
选项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 |
+--------+--------------------------+
答案 1 :(得分:6)
搜索ad和abcd的出现位置,其中bc是可选的。
为什么不简单直接/ad\|abcd
?