问号等于签到正则表达式

时间:2014-01-08 14:22:37

标签: regex

嘿专家我是regex的新手。我真的很困惑通过研究这个正则表达式。我找到了一些很难理解的东西。事情就是在正则表达式中使用问号和等于符号。例如:

"(?<=\d)(\s)(?=[\d-])"

我只需要知道?=在这个正则表达式代码中的使用..在这种情况下我已经多次搜索谷歌但我没有找到任何解决方案。所以我来到这里这将是一个很大的帮助我,如果你正确回答这个问题,我可以.. :) ..

提前致谢..

2 个答案:

答案 0 :(得分:10)

这是lookahead

之前的部分仅在后跟[\d-]

时才匹配

您应该注意到表达式的开头是对称的,是一种后视。

两个小组都没有捕获。总而言之,这个正则表达式匹配数字后面的空格,后跟数字或减号。例如,它匹配"3 4"中的空格。

请注意,由于性能和可预测性原因,许多语言/引擎不支持lookbehind(例如,请参阅this interesting article)。

答案 1 :(得分:6)

至少在JavaScript中,?=匹配后缀但将其从捕获中排除。 ?=排除整场比赛的表达。有关详细信息,请参阅this问题及相应的答案。