【发布时间】:2013-10-20 07:35:02
【问题描述】:
我尝试使用单词边界在 python 正则表达式中单独的 m 并找到它们。这些 m 应该在两边都有一个空格或者开始/结束字符串:
r = re.compile("\\bm\\b")
re.findall(r, someString)
但是,此方法还可以在 I'm 之类的单词中找到 m,因为撇号被认为是单词边界。如何编写不将撇号视为单词边界的正则表达式?
我试过了:
r = re.compile("(\\sm\\s) | (^m) | (m$)")
re.findall(r, someString)
但这与任何 m 都不匹配。奇怪。
【问题讨论】:
-
\\s示例与任何m都不匹配的原因是管道周围有额外的空间。这些包含在搜索字符串中。否则,这对我有用,无需环顾。