簡體   English   中英

如何在多行中使用正則表達式

[英]How to use regular expression in multiple lines

我有一個這樣的csv文件:

XXXX,YYYYY,41.29942,2.19939,2013-05-21T10:22:35+0000
XXXX,YYYYY,41.2679,2.08318,2013-05-21T10:42:25+0000
XXXX,YYYYY,41.23117,1.99121,2013-05-21T11:03:39+0000
XXXX,YYYYY,41.15553,1.93085,2013-05-21T11:27:40+0000

我正在使用以下腳本

import re

ruta = 'C:\filename.csv'

with open(ruta,'r') as fh:
    lector = fh.read()
    pat = re.compile(r'^(XXXX,YYYYY,([0-9]{0,2}.[0-9]{0,7}),(-?)([0-9]{0,2}.[0-9]{0,7})),([0-9]{0,4}-[0-9]{0,2}-[0-9]{0,2}.[0-9]{0,2})T([0-9]{0,2}:[0-9]{0,2}:[0-9]{0,2})(\+0000)\n')
    res = re.findall(pat,lector)
print(res)

但只要找到第一組。 我知道我可以使用csv模塊,但是我認為按組更容易處理,因為某些行是經度和緯度位置。

我正在嘗試searchfindallfinditer但僅返回第一行。

也許關於多行的東西,但是我聽不懂。

如果未指定任何標志,則默認情況下^匹配字符串的開頭。

指定re.M標志 (或re.MULTILINE )以使其與行首匹配。

pat = re.compile(r'^....', flags=re.M)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM