php - 正则表达式断言 - 两者兼而有之

标签 php regex

我想匹配前面没有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/

相关文章:

regex - 匹配模式后停止 grep,而不是整行?长行/单行文件

php - 如何群发邮件?

php - 像在 PHP 中一样在 Python 中获取格式化的日期时间

php - 以数组形式插入从表单获取的数据php

php - .htaccess 将子域重定向到 ssl 站点

regex - 这个正则表达式有什么作用?

regex - 在 MATLAB 中检查 UTF-8 字母是否为元音字母

regex - 无法在 Perl 中使用正则表达式匹配印度卢比货币符号

php - 如果密码字段为空,则编辑用户信息而不更改密码,如果我们填写匹配确认,则编辑它

c++ - 解析字符串的正则表达式模式