当这些字符不能立即遵循先行断言时,是否可以使用前瞻来确定一个或多个字符是否存在?
e.g。
给出类似的正则表达式:
([abc])([def])([ghi])
如果第一组中有'a',我可以说,只允许第三组中的'i'作为匹配吗?
答案 0 :(得分:2)
您可以使用lookbehind断言(除非您针对的是正则表达式引擎不支持的JavaScript):
([abc])([def])([gh]|(?<=a.)i)
答案 1 :(得分:0)
如果要使用OR操作,请使用|
喜欢这个
(asd)|(zxc)|(qwe)
答案 2 :(得分:0)
您可以使用条件模式。
试试这个:
/((a)|(b|c))([def])(?(2)i|[gh])/
(用PCRE测试)