2024-06-08 05:47:53 发布
网友
我想用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'].
如何编写有关正则表达式的代码?或者,有什么方法来分类单词吗?
如果要匹配单个字符,则不需要将其放入字符类,因此s与[s]相同。
s
[s]
你要找的是一个word boundary。单词边界\b是一个锚,它匹配从非单词字符(\W)到单词字符(\w)或相反的变化。
\b
\W
\w
解决办法是:
\bs\w+
此正则表达式将匹配前面没有单词字符的s(也适用于字符串的开头),并且在后面至少需要一个单词字符。\w+正在匹配它能找到的所有字字符,因此不需要在结尾处使用\b。
\w+
看here on Regexr
如果要匹配单个字符,则不需要将其放入字符类,因此
s
与[s]
相同。你要找的是一个word boundary。单词边界
\b
是一个锚,它匹配从非单词字符(\W
)到单词字符(\w
)或相反的变化。解决办法是:
此正则表达式将匹配前面没有单词字符的
s
(也适用于字符串的开头),并且在后面至少需要一个单词字符。\w+
正在匹配它能找到的所有字字符,因此不需要在结尾处使用\b
。看here on Regexr
相关问题 更多 >
编程相关推荐