python - 正则表达式帮助匹配组

标签 python regex

我正在尝试编写一个正则表达式来匹配具有多行的文本文件,例如:

* 964      0050.56aa.3480    dynamic   200        F    F  Veth1379
* 930      0025.b52a.dd7e    static    0          F    F  Veth1469

我的目的是匹配“0050.56aa.3480”和“Veth1379”,并将它们放在group(1) & group(2)中以备后用。

我写的正则表达式是:

\*\s*\d{1,}\s*(\d{1,}\.(?:[a-z][a-z]*[0-9]+[a-z0-9]*)\.\d{1,})\s*(?:[a-z][a-z]+)\s*\d{1,}\s*.\s*.\s*((?:[a-z][a-z]*[0-9]+[a-z0-9]*))

但当我在以下位置进行测试时,它似乎不起作用: http://www.pythonregex.com/

有人能指出我在这里做的任何明显错误吗。

谢谢, ~新手

最佳答案

试试这个:

^\* [0-9]{3} +([0-9]{4}.[0-9a-z]{4}.[0-9a-z]{4}).*(Veth[0-9]{4})$

Regular expression visualization

Debuggex Demo

第一部分在捕获组一中,“Veth”代码在捕获组二中。


请考虑为 Stack Overflow Regular Expressions FAQ 添加书签备查。底部有一个在线测试人员列表。

关于python - 正则表达式帮助匹配组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23092158/

相关文章:

Python -- 罗素悖论(列表,不是集合)

ruby - 从段落中获取包含关键字的句子

regex - Tcl 正则表达式

python - 测量数据框中接下来 N 行的偏差

Python 正则表达式匹配方括号问题

python - 使用多处理将 .wav 批量转换为 .flac(Python、Pydub)

python - 在 Python 中,识别电子邮件地址的一部分

python - 如何在 python 中正则表达式空字符串?

java - 为什么 replaceAll 抛出异常

javascript - 使用javascript转换以分号分隔的字符串