0

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

例如,在我的正则表达式中,如果前一个值超过 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]

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

4

1 回答 1

6

这是积极前瞻的格式:

/(?=expression)/

这是消极的前瞻:

/(?!expression)/

编辑

对于您的示例,这将意味着这样的事情:

/((?=[5-9]+)[0-5]+)|((?=[0-4]+)[0-9]+)/
于 2009-11-12T10:58:02.053 回答