2024-07-08 13:00:56 发布
网友
我有表格上的数据
CS989_-RED814298959 CS663_RED812657324 RED819238322_CS537 ......
此数据在csv文件中。我要检索所有以红色开头的子字符串。 请建议我使用python中的正则表达式来实现这一点
我尝试了以下代码:
一点也不回
那些刀伤在里面干什么?试试这个:
substring=re.match("[a-zA-Z]*([0-9]*)", string)
Help on function match in module re:match(pattern, string, flags=0) Try to apply the pattern at the start of the string, returning a match object, or None if no match was found.
Help on function match in module re:
match(pattern, string, flags=0) Try to apply the pattern at the start of the string, returning a match object, or None if no match was found.
您想要re.search或{}。同样,您的regexp是不正确的-如果您想要的只是“RED”后跟任意数量的数字,它的拼写是r"RED[0-9]+"
re.search
r"RED[0-9]+"
>>> strings ['CS989_-RED814298959', 'CS663_RED812657324', 'RED819238322_CS537'] >>> re.match(r"(RED[0-9]+)", strings[0]) >>> re.findall(r"(RED[0-9]+)", strings[0]) ['RED814298959'] >>> re.findall(r"(RED[0-9]+)", strings[1]) ['RED812657324'] >>> re.findall(r"(RED[0-9]+)", strings[2]) ['RED819238322'] >>> re.search(r"(RED[0-9]+)", strings[0]) <_sre.SRE_Match object at 0x1772e40>
如果你不需要正则表达式,就不要使用正则表达式。在
with open('myfile') as f: print([l for l in f if l.startswith('RED')])
根据需要更改,即使用csv.reader:
csv.reader
那些刀伤在里面干什么?试试这个:
您想要}。同样,您的regexp是不正确的-如果您想要的只是“RED”后跟任意数量的数字,它的拼写是
re.search
或{r"RED[0-9]+"
如果你不需要正则表达式,就不要使用正则表达式。在
根据需要更改,即使用
^{pr2}$csv.reader
:相关问题 更多 >
编程相关推荐