无法使用python正则表达式匹配货币符号

时间:2018-04-27 07:18:59

标签: python regex

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。 感谢。

1 个答案:

答案 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最好从头开始匹配字符串。 。*?只是一个懒惰的解决方法。