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/

相关文章:

regex - 排除正则表达式匹配的最后一个字符

java - 如何编写以下场景的正则表达式模式

c# - 年间隔的正则表达式

python - Python 3.3 中的 re.sub

python - 在不复制代码的情况下访问函数中声明的所有变量

R 删除特殊字符和重复的下划线

regex - 用于国际电话号码但排除特定国家/地区代码的 Ruby 正则表达式

python - 无法建立连接,因为目标机器主动拒绝

python - 查找并删除具有由第三个唯一特征标识的两个相同特征的重复数据条目

python - 在 Python 中使用 ctypes 返回结构