【发布时间】:2014-04-08 05:31:28
【问题描述】:
为什么下面的正则表达式不打印 True?
print re.compile(r'^\b[a-z]\b$').search('(s)')
我想匹配前后可能有非字母数字字符的单个字符字母,但在字符串中的任何位置都没有更多的字母数字字符。所以以下应该是匹配的:
'b'
'b)'
'(b)'
'b,
以下应该是遗漏的:
'b(s)'
'blah(b)'
'bb)'
'b-b'
'bb'
here 的解决方案不起作用。
【问题讨论】:
-
这里有什么问题?不是已经可以了吗?
-
抱歉 devnull,我输入的字符串有误。现在检查一下,它不起作用。
-
不起作用是什么意思?您正在放置锚以确保输入为 1 个字符,它如何匹配更大的字符串?
-
我想我误解了 ^ 和 $ 的意思。我希望它开始查看字符串的开头为 \b,然后找到 [a-z],然后是 \b,紧接着是字符串的结尾。
-
@user2104778 您尝试匹配的实际模式是什么?