Python 正则表达式零次或多次出现
Posted
技术标签:
【中文标题】Python 正则表达式零次或多次出现【英文标题】:Python regular expression zero or more occurrences 【发布时间】:2014-05-31 12:16:26 【问题描述】:I can\'?t (.*)
我的正则表达式是上述形式。但是如果给它的字符串在t
之后结束,我的匹配对象不匹配
re.compile(r'I can\'?t (.*)').match(str)
如果 str = "I cant",它不起作用。但是如果 str = "I can't use",它可以工作(匹配返回一些东西)。
【问题讨论】:
【参考方案1】:为此,您可以这样做:
re.compile(r'I can\'?t.*').match(str)
这将匹配 "I can't"
和后面的一些其他文本或仅匹配 "I can't"
【讨论】:
这里的替换无关紧要:.*
将始终匹配,即使它是一个空字符串。通过将其作为首选,您可以确保永远不会使用 $
。【参考方案2】:
您在t
之后留下了一个必填空格。删除它,你会没事的:
I can\'?t(.*)
另请注意,括号仅在您想使用第一个捕获组的内容时才有用,否则您可以安全地删除它们。
【讨论】:
@laike9m:很高兴我能帮上忙。如果答案完全解决了您的问题,请记住将其标记为已接受以关闭问题,然后您就可以开始了。 @laike9m: Wooops,没错 :) 谢谢你的支持,我猜!以上是关于Python 正则表达式零次或多次出现的主要内容,如果未能解决你的问题,请参考以下文章