【发布时间】:2019-05-20 15:20:40
【问题描述】:
说,我有以下代码:
import re
strings_of_text = ['data0', 'data23', 'data2', 'data55', 'data_mismatch', 'green']
strings_to_keep = []
expression_to_use = r'^\d{2}$|(?<=\s)\d{2}(?=\s)|(?<=\s)\d{2}$|^\d{2}(?=\s)'
for string in strings_of_text:
# If the string is data#
if (re.search(expression_to_use, string)):
strings_to_keep.append(string)
print(strings_to_keep)
我只关心添加带有“数据”模式的字符串,后跟一些数字。所以在这种情况下,我只想添加'data0', 'data23', 'data2', 'data55'
我该怎么做?我想我需要import re,但我不确定如何使用它。
我已阅读:Python Regular Expression looking for two digits only
但是当我尝试使用这个表达式修改我的正则表达式时
^\d{2}$|(?<=\s)\d{2}(?=\s)|(?<=\s)\d{2}$|^\d{2}(?=\s)
它不起作用...这就是我卡住的地方。我是使用正则表达式的新手,所以感谢所有提前发布的人
编辑:
这是我想要得到的结果:
print(strings_to_keep)
>>> ['data0', 'data23', 'data2', 'data55']
【问题讨论】:
-
理想的输出会有帮助。
标签: python regex python-3.x string