re.compile()不';t将有效模式与字符串python匹配
以下匹配不起作用:re.compile()不';t将有效模式与字符串python匹配,python,regex,python-2.7,Python,Regex,Python 2.7,以下匹配不起作用: import re pattern = re.compile("[\^\/!*\[({%?$]") param = "f00.*" if pattern.match(param): print " I am a regexp" else: print "non regexp" 但这确实: import re node_pattern = re.search("[\^\/!*\[({%?$]", "f00.*") print bool(node_patt
import re
pattern = re.compile("[\^\/!*\[({%?$]")
param = "f00.*"
if pattern.match(param):
print " I am a regexp"
else:
print "non regexp"
但这确实:
import re
node_pattern = re.search("[\^\/!*\[({%?$]", "f00.*")
print bool(node_pattern)
re.compile()有什么问题
这不是将字符串与regexp匹配的有效方法吗?正如列夫·扎哈罗夫指出的那样,你的问题不在于
re.compile()
,而在于re.search()
和re.match()
之间的区别。此代码按您希望的方式工作,仅将匹配
更改为搜索
:
import re
pattern = re.compile("[\^\/!*\[({%?$]")
param = "f00.*"
if pattern.search(param):
print " I am a regexp"
else:
print "non regexp"
也许您对您的用例有一个我们没有得到的更具体的问题