大家好,专家们,我刚开始学习正则表达式。通过研究这个正则表达式,我真的很困惑。我发现了一些很难理解的东西,比如me.The中问号的用法和等于regex.An中的符号。例如:
"(?<=\d)(\s)(?=[\d-])"我只需要知道在这个正则表达式代码中?=的用法..在这种情况下我已经搜索了谷歌很多次,但我没有找到任何解决方案there.So我来到这里如果你回答正确将对我有很大的帮助..:) .
提前谢谢..
发布于 2014-01-08 22:25:50
至少在JavaScript中,?=匹配后缀,但会将其排除在捕获范围之外。?=从整个匹配中排除该表达式。有关更多信息,请参阅this问题及其相应的答案。
发布于 2014-01-08 22:25:10
这是一个lookahead。
前面的部分仅在后跟[\d-]时才匹配
您应该注意到,表达式的开头对称地是一个后视。
这两个组都没有捕获。总而言之,这个正则表达式匹配一个数字后面的空格,后面跟着一个数字或减号。例如,它与"3 4"中的空格匹配。
请注意,出于性能和可预测性的原因,许多语言/引擎都不支持lookbehind (例如,请参阅this interesting article )。
https://stackoverflow.com/questions/20998251
复制相似问题