什么是MACID =' string'的正则表达式?

时间:2014-04-23 18:15:45

标签: regex linux perl

以下文字的正则表达式是什么?

<MACID=aaa1-bbb1-ccc1>
<MACID=ghijklm>

我尝试使用

<MACID=(?:[a-z][a-z]*[0-9]+[a-z0-9]*)>

但它没有给出任何结果。我只想提取分配给MACID的字符串

谢谢!

2 个答案:

答案 0 :(得分:3)

以下方法可行:

/<MACID=([^>]*)>/

但是,如果您正在处理XML数据,我建议您使用实际的XML解析器,例如XML::LibXMLXML::Twig

答案 1 :(得分:2)

MACID = aaa1-bbb1-ccc1(带尖括号)可以与:

匹配
<MACID=[a-z]+[0-9]+-[a-z]+[0-9]+-[a-z]+[0-9]+>

或使用重复表示法:

<MACID=([a-z]+[0-9]+-){2}[a-z]+[0-9]+>

如果您只想尝试匹配任何类型的字母,短划线和数字,请使用:

<MACID=[-a-z0-9]+>

请注意那里有一个短划线!