我想匹配字符串的一部分(一个特定的单词)并打印出来。正是grep -o
所做的。
例如,我的单词是“黄狗”,它可以在跨越多行的字符串中找到。
[34343] | ****. "Example": <one>, yellow dog
tstring0 123
tstring1 456
tstring2 789
让我们试试这个正则表达式mydog = re.compile(', .*\n')
然后
if mydog.search(string):
只打印匹配的单词。
如何在输出中只得到“黄狗”?
Tags:
使用捕获组和findall:
如果您只想要第一个匹配,那么:
注意:如果
s
不包含匹配项,则需要处理IndexError
。如果不指定捕获组,则与整个表达式匹配的文本将包含在
matchResult.group(0)
中。在您的情况下,这将是', yellow dog\n'
。如果您只需要yellow dow
,那么应该向表达式中添加一个捕获组:, (.*?)\n
。请注意,我还将.*
更改为.*?
,这样当它找到第一个换行符时,它将不贪婪并停止。相关问题 更多 >
编程相关推荐