我正在使用Python,并且想在test
遇到句号(句号)或空格之前匹配所有单词。
text = "test : match this."
目前,我正在使用:
import re
re.match('(?<=test :).*',text)
上面的代码不匹配任何内容。我需要match this
作为我的输出。
如果您只是从字符串中获取子集,我不明白为什么要使用正则表达式。
运作方式相同:
if line.startswith('test:'):
print(line[5:line.find('.')])
例子:
>>> line = "test: match this."
>>> print(line[5:line.find('.')])
match this
正则表达式速度慢,设计笨拙且难以调试。肯定有occassions使用它,但如果你只是要提取的文本test:
和.
,然后我不认为是这些场合之一。
参见:https : //softwareengineering.stackexchange.com/questions/113237/when-you-should-not-use-regular-expressions
为了获得更大的灵活性(例如,如果您要遍历要在字符串开头找到的字符串列表,然后将其索引出),请用替换索引中的5(“ test:”的长度)len(str_you_looked_for)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句