我想匹配前面没有x 且后面也没有y 的任何数字。 我想出了这样的事情: ojit_代码
但是,这并没有真正帮助,因为我还想匹配 (?<!x)(\d+)(?!y)
或 x123
等字符串中的数字。
换句话说,我希望两个断言都有效或都不有效。
例子:
- 从“x123”开始匹配“123”
- 从“456y”开始匹配“456”
- 从“789”匹配“789”
- “x123y”不会匹配任何内容
你能帮忙吗?
最佳答案
(?<!\d)(?!(?<=x)\d+(?=y))\d+
基本上,您可以为您不想匹配的内容创建一个正则表达式 - (?<=x)\d+(?=y)
- 并将其置于负面前瞻中。如果成功,您可以继续使用这些数字。但这还不够,因为它仍然匹配23
。在 x123y
.为一个数字添加负向回顾确保匹配仅在数字运行的开头开始。
关于php - 正则表达式断言 - 两者兼而有之,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468308/