python - 使用 python 正则表达式,只有那些匹配我的模式但不包含'='
问题描述
我是正则表达式的新手。我正在使用正则表达式来匹配 url,一些结果包含=
. 我只希望那些 url 与我的模式匹配,但不包含=
.
我的模式是\S+google.com\/\S+-\S+
例如:
匹配:
www.google.com/aa-bb
不匹配:
google.com/
不匹配:
www.google.com/aa-bb=cc
我当前的模式匹配 1 和 3,但我只想要 1
有了这个答案,正则表达式匹配不包含单词的行?,我试过(?=((?!=).)*)(?=\S+google.com\/\S+-\S+)
,试图相交两个匹配的结果。但似乎正则表达式不能以这种方式工作。
请仅 Python Regex 回答。谢谢!
解决方案
更改\S
为[^\s=]
使其不匹配空格或=
.
您还应该使用^
and锚定模式$
,因此它必须匹配整个 URL。否则它将匹配 的www.google.com/aa-bb
部分www.google.com/aa-bb=cc
。
^\S+google\.com\/[^\s=]+-[^\s=]+$
您还应该.
在正则表达式中转义文字。
推荐阅读
- c# - 如何在c#中检查一个对象是否没有空属性
- c# - 具体来说,在 Unity 中,await 从字面上返回到“哪里”?
- r - 如何按组保留值(删除 NA)?
- ruby-on-rails - Rails:如何为一个用户处理多个订阅
- oracle - 无法在 Oracle APEX 18.1.0.00.45 上为更新页面项的动态操作禁用会话状态保护
- mysql - 如何避免在mysql视图的子视图中进行全表扫描
- django - 如何在 django 中为用户登录实现自定义身份验证
- react-native - this.nameOfFunction 调用时不是函数
- python - 如何在将列表与另一个变量进行比较时引用列表中的多个项目?
- cube - 是否可以在 TM1s.cfg 的 DataBaseDirectory 参数中使用相对路径?