如何确定字符串是否与正则表达式匹配?
如果字符串与正则表达式匹配,我想找到True。
正则表达式:
r".*apps\.facebook\.com.*"
我试过了:
if string == r".*apps\.facebook\.com.*":
但这似乎不起作用。
答案 0 :(得分:3)
来自Python文档:on re module, regex
import re
if re.search(r'.*apps\.facebook\.com.*', stringName):
print('Yay, it matches!')
因为如果找到匹配对象,则re.search返回匹配对象,如果找不到则返回None。
答案 1 :(得分:2)
您必须导入re
模块并以这种方式进行测试:
import re
if re.match(r'.*apps\.facebook\.com.*', string):
# it matches!
如果要在字符串中的任何位置搜索模式,可以使用re.search
而不是re.match
。 re.match
只有在模式可以位于字符串的开头时才会匹配。
答案 2 :(得分:1)
import re
match = re.search(r'.*apps\.facebook\.com.*', string)
答案 3 :(得分:0)
您正在寻找re.match()
:
import re
if (re.match(r'.*apps\.facebook\.com.*', string)):
do_something()
或者,如果要匹配字符串中任何位置的模式,请使用re.search()
。
为什么不通读Python文档中的re module?