我有一个匹配字符串中所有三个字符的正则表达式:
\b[^\s]{3}\b
当我将它与字符串一起使用时:
And the tiger attacked you.
这是结果:
regex = re.compile("\b[^\s]{3}\b")
regex.findall(string)
[u'And', u'the', u'you']
如您所见,它与您匹配的是三个字符的单词,但我希望表达式采用“您”。与“。” 作为 4 个字符的单词。
我对“,”,“;”,“:”等有同样的问题。
我对正则表达式很陌生,但我想这是因为这些字符被视为单词边界。
有没有办法做到这一点?
提前致谢,
编辑
感谢@BrenBarn 和@Kendall Frey 的回答,我设法找到了我正在寻找的正则表达式:
(?<!\w)[^\s]{3}(?=$|\s)