![](/img/trans.png)
[英]Regular expression for substitution of similar pattern in a string in Python
[英]Regular expression cant be extended to find similar pattern in Python
我正在尝试匹配(dd / yy-dd / yy)或(0d / yyyy-0d / yyyy)的模式。 文本中相似模式的任何可能组合。
我的文字是:
text = ''' 09/14 - 18/18 some text 09/13 – 04/14 '''
我的模式是:
r"b([\d]{1,2}[\s/-]+[\d]{2,4}[-:\s.]+\d{1,2}[\s/-]+[\d]{2,4}[\s/-]+)"
它成功匹配09/14-18/18。 但与文本中的09/13 – 04/14不匹配。 我遇到的另一个疑问是,如果我想检查是否说“ 09/14-”后跟“单词(列表中的任何单词)”或“ dd / yy或dd / yyyy”之类的模式,该怎么办?做。 我的意思是,如果它与我必须用“ 09/14”选择的任一支票相匹配。 即,如果匹配则为“ 09/14-word”,如果匹配则为“ 09/14-dd / yyyy”。
它成功匹配09/14-18/18。 但与文本中的09/13 – 04/14不匹配。
因为-
和–
是不同的字符。
\b([\d]{1,2}[\s/-]+[\d]{2,4}[-:–\s.]+\d{1,2}[\s/-]+[\d]{2,4}[\s/-]+)
如果您不想捕获比赛后的空格,请使用此选项。
\b([\d]{1,2}[\s/-]+[\d]{2,4}[-:–\s.]+\d{1,2}[\s/-]+[\d]{2,4})\b
如果我想检查是否说“ 09/14-”后跟“单词(列表中的任何单词)”或“ dd / yy或dd / yyyy”之类的模式,该怎么办。
\b[\d]{1,2}[\s/-]+[\d]{2,4}[-:–\s.]+(?:\d{1,2}[\s/-]+[\d]{2,4}|\w)
>>> text = ''' 09/14 - 18/18 some text 09/13 – 04/14 '''
>>> re.findall(r'\b([\d]{1,2}[\s/-]+[\d]{2,4}[-:–\s.]+\d{1,2}[\s/-]+[\d]{2,4})\b', text)
['09/14 - 18/18', '09/13 – 04/14']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.