正如列夫·扎哈罗夫所指出的,你的问题与其说是关于
以下匹配不起作用:
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((有什么问题?
这不是将字符串与正则表达式进行匹配的有效方法吗?
re.compile()
,不如说是关于关于re.search()
和re.match()
之间的区别。此代码按您希望的方式工作,只需将match
更改为search
:
import re
pattern = re.compile("[^/!*[({%?$]")
param = "f00.*"
if pattern.search(param):
print " I am a regexp"
else:
print "non regexp"
也许您对您的用例有一个我们没有得到的更具体的问题。