我是使用Python的正则表达式的初学者,我想要做的是包括一个必须在搜索正则表达式时完全找到的ppattern。例如\w[$X|@]
因此如果找不到$X
,则匹配将返回false而不是搜索$
或X
,因此它的行为如下:
google@google.com ---->匹配
google $ Xgoogle.com ---->匹配
google $ google.com ----&gt; <匹配
googleXgoogle.com ----&gt; <匹配
答案 0 :(得分:1)
[$X ...]
将匹配$
或 X
。
您需要\$X
如果你的“确切”意味着完全匹配字符串,那么你需要^\$X$
,也就是说,只匹配字符串"$X"
。
In [3]: import re
In [4]: l=['g@g.com','g$Xg.com','g$g.com','gXg.com']
In [5]: for s in l:
print s + " matched? " + str(True if len(re.split('\$X',s))>1 else len(re.split(r'[$X]',s))==1)
....:
g@g.com matched? True
g$Xg.com matched? True
g$g.com matched? False
gXg.com matched? False
答案 1 :(得分:1)
编辑:问题已通过示例更新,因此我在答案中添加了一个。
如果您想在文本中搜索$X
,以下是您可能会做的快速示例:
import re
pattern = r'\$X|@'
m = re.search(pattern, "google$Xgoogle.com")
然后,如果你在一个功能中,你可以这样做:
if m:
return True
else:
return False