【问题标题】:Find if a pattern exists in a long string using RegEx [duplicate]使用正则表达式查找长字符串中是否存在模式[重复]
【发布时间】:2022-01-23 13:11:31
【问题描述】:

我正在寻找匹配字符串中实际存在的模式,但 python 返回“False”,我错过了什么?

text = "123409Tue15-Feb-2022Tue22-Feb-2022Thu24-Feb-20225"
is_matched = bool(re.match("((Mon|Tue|Wed|Thu|Fri)([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9][0-9][0-9]))",text))

is_matched 每次都返回False...而模式存在。

如果我输入以下值,is_matched 返回True

text = 'Tue15-Feb-2022Tue22-Feb-2022Thu24-Feb-2022'
is_matched = bool(re.match("((Mon|Tue|Wed|Thu|Fri)([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9][0-9][0-9]))",text))

如何排除我的模式前后的文本检查?

谢谢

【问题讨论】:

    标签: python regex re


    【解决方案1】:

    搜索()与匹配() Python 基于正则表达式提供了两种不同的原始操作:re.match() 仅在字符串的开头检查匹配,而 re.search() 在字符串中的任何位置检查匹配 https://docs.python.org/3/library/re.html#search-vs-match

    由于您的文本开头包含数字,因此不匹配。尝试使用 search() 或改变你的表达方式

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 2016-03-03
      • 2021-09-15
      • 2022-06-15
      • 1970-01-01
      • 2011-04-23
      • 2021-09-29
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多