我正在尝试创建一个regex,它在任何情况下都将返回以barbar
开头的列表单词。它不能返回整个单词,而只能返回匹配的部分。例如,从字符串
string = u'baRbarus, semibarbarus: qui BARbari sunt, alteres BARBARos non sequuntur!'
# output is...
>>> ['baRbar', 'BARbar', 'BARBAR']
我试过这样的代码:
^{pr2}$我好像误解了什么。你能帮帮我吗?如果你能提供一些关于re
模块的好的教程,那也会很好。从默认的Python文档中很难理解re
。谢谢!在
因为你想要只有以barbar开头的单词,所以你必须先把字符串分开。所以你应该这样做:
正则表达式中的
^
表示该词必须以barbar开头。在以下正则表达式足以满足您的需要(只要设置了标志):
示例:
^{pr2}$以下是对当前regex的一些注释,这些注释可能会澄清
\bbarbar
执行此操作的原因:[\A\b]
-\A
通常是字符串的开始,而{[\A\b]*
-这就是你的regex匹配“semibarus”的原因,*
表示0或更多,因此不需要该部分进行匹配,如果你删除了{([\A\b]*)(barbar)
-多个组意味着{你可以试试。。。在
相关问题 更多 >
编程相关推荐