【问题标题】:Python regular expression zero or more occurrencesPython 正则表达式零次或多次出现
【发布时间】: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",它可以工作(匹配返回一些东西)。

【问题讨论】:

    标签: python regex match


    【解决方案1】:

    为此,您可以这样做:

    re.compile(r'I can\'?t.*').match(str)

    这将匹配 "I can't" 和后面的一些其他文本或仅匹配 "I can't"

    【讨论】:

    • 这里的替换无关紧要:.* 将始终匹配,即使它是一个空字符串。通过将其作为首选,您可以确保永远不会使用 $
    【解决方案2】:

    您在t 之后留下了一个必填空格。删除它,你会没事的:

    I can\'?t(.*)
    

    另请注意,括号仅在您想使用第一个捕获组的内容时才有用,否则您可以安全地删除它们。

    【讨论】:

    • @laike9m:很高兴我能帮上忙。如果答案完全解决了您的问题,请记住将其标记为已接受以关闭问题,然后您就可以开始了。
    • @laike9m: Wooops,没错 :) 谢谢你的支持,我猜!
    猜你喜欢
    • 1970-01-01
    • 2017-05-25
    • 2018-06-18
    • 1970-01-01
    • 2013-09-29
    • 2022-08-19
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多