正则表达式^$Python?

正则表达式^$Python?,python,regex,Python,Regex,我只是对^和$的组合有点困惑。我明白 它分别表示开始和结束,然后()表示提取 括号里是什么。但是为什么在这个例子中它会打印no呢。请 帮我解释一下。多谢各位 if re.search('^(0|1)$', '0b'): print 'yes' else: print 'no' 正则表达式首先匹配字符串的开头,然后匹配字符0或1,然后匹配字符串的结尾。由于要匹配的字符串在0之后有b,因此它将不匹配。将正则表达式更改为^(0 | 1)b$将产生匹配。正则表达式^(0 | 1)$将检

我只是对^和$的组合有点困惑。我明白

它分别表示开始和结束,然后()表示提取

括号里是什么。但是为什么在这个例子中它会打印no呢。请

帮我解释一下。多谢各位

if re.search('^(0|1)$', '0b'):
    print 'yes'
else:
    print 'no'

正则表达式首先匹配字符串的开头,然后匹配字符
0
1
,然后匹配字符串的结尾。由于要匹配的字符串在
0
之后有
b
,因此它将不匹配。将正则表达式更改为
^(0 | 1)b$
将产生匹配。

正则表达式
^(0 | 1)$
将检查字符串是否仅包含单个字符
0
1
。谢谢。我认为它从头到尾都在寻找0或1。现在我知道它有点像是精确地查找1个字符长度的0或1