Python 需要正则表达式帮助:如果某些字符串不是以某些子模式开头,并且某些字符不应该在那里,则进行匹配

Python 需要正则表达式帮助:如果某些字符串不是以某些子模式开头,并且某些字符不应该在那里,则进行匹配,python,regex,Python,Regex,我需要为一个小型项目想出一个正则表达式 字符串不应以以下字符开头: "/wiki" 它也不应该有以下模式 /.*:.*基本上,模式以char“/”开头,然后出现“:” 而且它也不能有某种特性 所以基本上所有这些字符串都会失败: "/wiki/index.php?title=ROM/TAP&action=edit&section=2" "/User:romamns" "/Special:Watchlist" "/Space_Wiki:Privacy_policy"

我需要为一个小型项目想出一个正则表达式

字符串不应以以下字符开头:

"/wiki"
它也不应该有以下模式 /.*:.*基本上,模式以char“/”开头,然后出现“:”

而且它也不能有某种特性

所以基本上所有这些字符串都会失败:

"/wiki/index.php?title=ROM/TAP&action=edit&section=2"
"/User:romamns"
"/Special:Watchlist"
"/Space_Wiki:Privacy_policy"
"#column-one"
所有这些字符串都将通过:

"/ROM/TAP/mouse"
"http://www.boost.org/"
如果有什么不同的话,我将在python中使用正则表达式


谢谢您的帮助。

^/?!维基[^:]*|[^/][^]*$应该可以,经过测试,当然我可能遗漏了一些东西,但这似乎符合您的规范。

^/?!wiki[^:]*|[^/][^]*$应该是正常的,经过测试,当然我可能遗漏了一些东西,但这似乎符合您的规范。

如果您匹配以下正则表达式,那么它应该会失败

^(\/wiki|.*?[\:#])

如果匹配以下正则表达式,则它应该失败

^(\/wiki|.*?[\:#])

这个经过测试的脚本实现了一个注释的正则表达式,该正则表达式与您声明的需求完全匹配:

进口稀土 def检查\u主题: 如果主题匹配,则返回True reobj=re.compile 匹配特殊字符串 ?!/wiki不是以/wiki开头的。 ?![^/]*/[^::::*:没有以下内容/ [^]*匹配没有 $Anchor到字符串的末尾。 , re.IGNORECASE | re.MULTILINE | re.VERBOSE 如果reobj.matchsubject: 返回真值 其他: 返回错误 返回错误 数据列表=[ r/wiki/index.php?title=ROM/TAP&;action=edit&;section=2, r/用户:Romanns, r/特别:观察名单, r/Space_维基:隐私政策, 第一列, r/ROM/点击/鼠标, rhttp://www.boost.org/, ] cnt=0 对于数据列表中的数据: cnt+=1 打印数据[%d]=\%s\% cnt,检查标准数据
这个经过测试的脚本实现了一个注释的正则表达式,该正则表达式与您声明的需求完全匹配:

进口稀土 def检查\u主题: 如果主题匹配,则返回True reobj=re.compile 匹配特殊字符串 ?!/wiki不是以/wiki开头的。 ?![^/]*/[^::::*:没有以下内容/ [^]*匹配没有 $Anchor到字符串的末尾。 , re.IGNORECASE | re.MULTILINE | re.VERBOSE 如果reobj.matchsubject: 返回真值 其他: 返回错误 返回错误 数据列表=[ r/wiki/index.php?title=ROM/TAP&;action=edit&;section=2, r/用户:Romanns, r/特别:观察名单, r/Space_维基:隐私政策, 第一列, r/ROM/点击/鼠标, rhttp://www.boost.org/, ] cnt=0 对于数据列表中的数据: cnt+=1 打印数据[%d]=\%s\% cnt,检查标准数据
很好,谢谢你,先生。几个小时以来,我一直在努力解决这个问题。{1}的目的到底是什么?是的,多余的{1}是多余的。另外:很高兴我能帮忙。很好,谢谢你。几个小时以来,我一直在努力解决这个问题。{1}的目的到底是什么?是的,多余的{1}是多余的。还有:很高兴我能帮忙。