l_test_word = 'in €'
print(l_test_word)
if re.match(pattern=r'[£$€]+', string=l_test_word):
print("Match")
else:
print("No Match")
如果字符串包含curency符号,我正在尝试匹配。 运行返回" No Match"时上面的代码片段。 无法弄清楚为什么?我正在使用python 2.7.13。 感谢。
答案 0 :(得分:-1)
正如拉克什正确地说的那样,你正在使用match
代替search
。
如果您想使用match
,您的代码应为:
import re
l_test_word = 'in €'
print(l_test_word)
if re.match(pattern=r'.*?[£$€]+', string=l_test_word):
print("Match")
else:
print("No Match")
请注意,我添加了。*?在模式的开头。
干杯。
修改强>
只是为了避免误会。显然,这不是找到像“€”这样的符号的最佳方法。 re.search
更适合搜索,re.match
最好从头开始匹配字符串。 。*?只是一个懒惰的解决方法。