正则表达式条件前瞻/回顾?

时间:2009-11-12 10:54:26

标签: regex regex-lookarounds

嘿伙计们,我想问你是否可以使用lookahead或任何其他机制对单个正则表达式进行一些条件检查。

例如,在我的正则表达式中,如果前一个值超过3,则我希望下一个值的范围为0-5,如果前一个值低于3,则范围为0-9。

例如:

[0-9]下一场比赛应为[0-5]或[0-9],具体取决于之前的值是否低于或高于5.

正如代码所想的那样:

称之为A - > [0-9] [0-9]< - 调用此B

如果(A <5)则B [0-9]否则B [0-5]

这可以作为单个正则表达式吗?

1 个答案:

答案 0 :(得分:5)

这是积极前瞻的格式:

/(?=expression)/

这是消极的前瞻:

/(?!expression)/

修改

对于你的例子,这意味着这样的事情:

/((?=[5-9]+)[0-5]+)|((?=[0-4]+)[0-9]+)/