我想应用以下表达式来检查替换、插入、删除计数。但是 OR 语句似乎不起作用。正则表达式只检查括号中的第一条语句。例如:
correct_string = "20181201"
regex_pattern = r"((20[0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])){e}"
regex.fullmatch(regex_pattern, correct_string)
输出:
<regex.Match object; span=(0, 8), match='20181201', fuzzy_counts=(1, 0, 0)>
它说由于第 5 位数字而有一个替换,但是如果在 OR 语句中它存在
另一个例子:
correct_string = "20180201"
regex_pattern = r"((20[0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])){e}"
regex.fullmatch(regex_pattern, correct_string)
输出:
<regex.Match object; span=(0, 8), match='20180201'>
在这种情况下,它表示没有根据 OR 中的第一条语句正确的替换。
我该如何解决这个问题。谢谢你。
Helenr
相关分类