在较大的文本中,我的目标是使用正则表达式提取以下内容:
例如:示例文本为:
等等等等123K等等等等123K等等123K(1)(e)123k(z)(1)
所需的结果是:
我尝试了以下方法:
[ ]+123(K|k)+[ ]
适用于123K和123k
但是对于我尝试的括号(不起作用):
[ ]+123(K|k)+([ ]|(?<=\().*?(?=\),))
解决该问题的任何指导将不胜感激。
我正在使用Python 3.6
编辑:我已经设法编辑我的正则表达式以匹配“ K | k”后的括号,更新的正则表达式为:
[ ]+123(K|k)+([ ]|\(\w\))
根据您的示例,我将123(k | K)之后从0到2的连续左括号和右括号的搜索范围设置为零。
码
import re
m = re.findall('(123(k|K)(\(.\)){0,2})', 'blah blah blah 123K blah blah 123k blah blah 123K(1)(e) 123k(z)(1)')
result = [i[0] for i in m]
结果
['123K', '123k', '123K(1)(e)', '123k(z)(1)']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句