Python 正则表达式 匹配后的字符不等于

标签 python regex

我试图匹配以“123”开头的字符串,但前提是紧随其后的字符不是数字。

例如,这些将匹配:

  • '123'
  • '123.4'
  • '123A'

但是这些不匹配:

  • '124'
  • '1234'
  • '1235.3'

如果我只关心不以数字结尾的字符串,我可以使用:

'^123(?!.*\d$)'

但是,这不是我要找的。我正在查找紧跟在匹配字符串后面的字符是否不是数字。

最佳答案

I am looking for whether the character immediately following my match string is not a numeric.

您可以使用此正则表达式:

^123(?!\d)

(?!\d) 是负向先行,如果 123 之后的下一个字符是数字,则将断言失败。

RegEx Demo

关于Python 正则表达式 匹配后的字符不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035268/

相关文章:

python - 递归检查键的值

python - 如何使用 pass 语句

python - 如何修复django模板中的html代码

php - 如何从整个网站中提取所有网址,而不仅仅是从给定的链接中

regex - 用于验证 RGB 字符串值的正则表达式

c# - 如何让正则表达式匹配只添加一次到匹配集合中?

regex - 替换 ini 文件中的 block 文本

python - 我可以在保留 lambda 表达式的同时删除双重评估吗

python - 元组 : TypeError yet success 中的变异列表

mysql - 如果不匹配正则表达式,如何禁止在mysql中插入?