如何找到以特定ch开头的单词

2024-04-26 03:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python把句子中以“s”开头的单词分类。
这是我的代码:

import re
text = "I was searching my source to make a big desk yesterday."
m = re.findall(r'[s]\w+', text)
print m

但代码的结果是:

['searching', 'source', 'sk', 'sterday'].

如何编写有关正则表达式的代码?或者,有什么方法来分类单词吗?


Tags: to代码textimportresourcemakesearching
1条回答
网友
1楼 · 发布于 2024-04-26 03:29:26
  1. 如果要匹配单个字符,则不需要将其放入字符类,因此s[s]相同。

  2. 你要找的是一个word boundary。单词边界\b是一个锚,它匹配从非单词字符(\W)到单词字符(\w)或相反的变化。

解决办法是:

\bs\w+

此正则表达式将匹配前面没有单词字符的s(也适用于字符串的开头),并且在后面至少需要一个单词字符。\w+正在匹配它能找到的所有字字符,因此不需要在结尾处使用\b

here on Regexr

相关问题 更多 >