正则表达式字符串逗号,字符

2024-09-29 21:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我通常不使用正则表达式,所以我需要一些帮助来从下面的字符串中获得一些匹配。我只想在粗体的信息匹配正则表达式,任何帮助或解释将不胜感激

“FM 2222路/RIVER PLACE大道”、“0:”、“18:”、“00”、“2008-08-14”、“撞车/离开现场”、“30.39452568”、“30.39452568-97.84551164”、“-97.84551164”、“18:00”、“4”、“2008-08-14 18:00-06:00”、“20085043619”


Tags: 字符串信息place现场fm伙计river大道
2条回答

如果需要检测日期及其旁边的字段,可以使用以下正则表达式:

expression = '"\d{4}-\d{2}-\d{2}","[^"]*"'

工作示例:

import re
my_str = '"FM 2222 RD / RIVER PLACE BLVD","0:",,"18:","00","2008-08-14","CRASH/LEAVING THE SCENE","30.39452568","(30.39452568-97.84551164)","-97.84551164","18:00:00","4","2008-08-14 18:00:00-06:00","20085043619"'
expression = '"\d{4}-\d{2}-\d{2}","[^"]*"'
re.findall(expression, my_str)  # returns ['"2008-08-14","CRASH/LEAVING THE SCENE"']

您提供的字符串看起来像csv文件中的一行,另一个选项是使用Pythonscsv module

因为我不知道您是否有一个文件或列表中充满了这些字符串,所以这个示例演示了如何使用^{}(Python 3.6.4)将单个字符串读入^{}

In[2]: s = '"FM 2222 RD / RIVER PLACE BLVD","0:",,"18:","00","2008-08-14","CRASH/LEAVING THE SCENE","30.39452568","(30.39452568-97.84551164)","-97.84551164","18:00:00","4","2008-08-14 18:00:00-06:00","20085043619"'
  ...: 
In[3]: import csv
  ...: import io
  ...: 
  ...: reader = csv.reader(io.StringIO(s))
  ...: for line in reader:
  ...:     address, a, b, c, d, date, msg, *stuff = line
  ...:     print(date)
  ...:     print(msg)
  ...: 
2008-08-14
CRASH/LEAVING THE SCENE

如果您有带有标题的实际csv文件,则可以使用^{},然后执行类似print(line['date'])(假设键为“date”)的操作

相关问题 更多 >

    热门问题