正则表达式预测不止一个元素

时间:2013-01-11 14:25:56

标签: javascript regex regex-lookarounds

当这些字符不能立即遵循先行断言时,是否可以使用前瞻来确定一个或多个字符是否存在?

e.g。
给出类似的正则表达式:

([abc])([def])([ghi])
如果第一组中有'a',我可以说,只允许第三组中的'i'作为匹配吗?

3 个答案:

答案 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测试)