2

我想使用 find() 找到完全匹配的单词。但它接缝 find() 也返回具有部分匹配的字符串。

参考 stackoverflow字符串完全匹配中的先前帖子,使用了以下正则表达式:

   import re

   print(re.findall('\\blocal\\b', "Hello, locally local test local."))
   // ['local', 'local']

问题是在我的情况下是“本地的”。不同于“本地”

我怎样才能做到这一点?

更新:

我需要做的是替换包含本地工作的元素。

  print("Hello, locally local test local#".replace('local','we'))
  // should result in 

  Hello, locally we test local#
4

1 回答 1

5

如果您返回的只是您要查找的内容的列表,那么这没有任何意义findall......对于这个用例,我不会打扰 re,只需使用:

'Hello, locally local test local.'.split().count('local')

好的,与以下内容相关的更新:

我需要做的是替换包含本地工作的元素。

我会选择类似的东西:

re.sub(r'\blocal([\b\s])', r'we\1', s)
于 2012-10-25T14:19:58.850 回答