我目前正在尝试匹配两个不同的电子表格中的两个单元格,到目前为止,我仍然可以这样做,但是现在我遇到一个问题,即一个单元格中有多个值,我想将一个单元格中的两次出现与一个单元格进行匹配有大量的信息。
例如:
(标题)-数据单元格:汽车型号变化90-92
(年)-数据B单元:1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999
import re
if re.match(year, title):
print("Success")
但是我想尝试匹配标题中数据B的任何两个值,但不确定解决该问题的最佳方法。
您可以像
p = "|".join([x[2:] for x in year.split("|")])
rx = re.compile(rf'(?s)\b(?:{p})\b.*?\b(?:{p})\b')
请参阅regex演示,它仅在字符串中找到两次出现的两位数年份时才匹配。图案细节:
(?s)
-re.S
或re.DOTALL
内联修饰符标志,用于.
匹配换行符\b(?:90|91|92|93|94|95|96|97|98|99)\b
- 90
,91
..99
作为一个整体.*?
-任意0个以上的字符,尽可能少\b(?:90|91|92|93|94|95|96|97|98|99)\b
- 90
,91
..99
作为一个整体查看完整的Python演示:
import re
titles = [r'Car Model Variation 90-92',r'Car Model Variation 90']
year = r'1990|1991|1992|1993|1994|1995|1996|1997|1998|1999'
p = "|".join([x[2:] for x in year.split("|")])
rx = re.compile(rf'(?s)\b(?:{p})\b.*?\b(?:{p})\b')
for title in titles:
print ( f"'{title}' =>", bool(rx.search(title)) )
输出:
'Car Model Variation 90-92' => True
'Car Model Variation 90' => False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句