我有一个包含多行单词的字符串,我想从字符串中提取除了以c
开头的单词之外的所有单词。
我试过这个
import re
inp='''bat
cat
mat
'''
pt=re.compile(r'[^c][a-z]+')
ma=pt.findall(inp)
字符串
我要
['bat', '\ncat', '\nmat']
型
如果我明确地提到“at”,这将非常有效
pt=re.compile(r'[^c]at')
型
其输出为:
['bat', 'mat']
型
但使用pt=re.compile(r'[^c][a-z]+')
时不起作用
3条答案
按热度按时间igsr9ssn1#
最干净的:
字符串
\b
:字边界[^\Wc]
:不是非字母数字字符(\W
),也不是c
\w*
:零个或多个字母数字字符您可以使用
\w+
来禁止单个字母。mzmfm0qo2#
设置多行标志
re.M
,并使用锚点^
作为行的开始字符串
kpbwa7wx3#
字符串
输出量:
型