python - 对 python 正则表达式进行回查

标签 python regex

我正在尝试编写正则表达式匹配

我想匹配文件中的 c99,只要它不是十六进制颜色代码的一部分即可

  • 不匹配 #000c99
  • /mysite.com/c99.php 上进行匹配
  • %20c99.php 上进行匹配
  • c99?hi=moo 上进行匹配

使用正则表达式可以实现这一点吗?

最佳答案

使用the regex module :

>>> rx = regex.compile(r"(?<!#\d{0,3})c99")
>>> rx.findall("#000c99")
[]
>>> rx.findall("/mysite.com/c99.php")
[u'c99']
>>> rx.findall("%20c99.php")
[u'c99']
>>> rx.findall("c99?hi=moo")
[u'c99']

关于python - 对 python 正则表达式进行回查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335656/

相关文章:

python - 如何让 Selenium 点击可变数量的 "next"按钮?

python - 使用 Python 在 Visual Studio Code 中显示重写的方法指示器

正则表达式匹配到带有通配符的行尾

regex - 在 Perl 正则表达式中匹配平衡括号

python - 根据替代列表中的项目搜索嵌套列表,返回包含部分匹配的子集

python - ModelForm form_valid() 函数的成功/重定向 URL 问题

python - 卸载 numpy1.6.1 并在 linux 上安装 numpy1.5.1 和 [它即将使用 GIPSY-OASIS II version6]

java - 为什么java正则表达式replaceAll()只返回最后一个匹配项

swift - 正则表达式:捕获组和空字段(SWIFT 5 | ICU 正则表达式引擎)

python - 不了解如何在 geopandas 中使用 "urn:ogc:def:crs:OGC:1.3:CRS84"