我正在使用一些正则表达式来识别我经常收到的一些YML文件中的内联标记。
我确实需要使用Regex Expression标识以下类型的标记:
<p class='link-pdf'>
</li>
<a id = 'pdf' href='#' target='_blank' class= 'pdf' onclick='location.href=\"/pdf/help/%{language}/download.pdf\"'>
我试过很多正则表达式......但是没有一个正常工作..
¿有人能帮帮我吗?
答案 0 :(得分:1)
好的,根据您的上一条评论。
捕获表单文本的所有标记的正则表达式可能如下所示:
<a[^>]*>(.(?!</a>))*.?</a>
这打破了
<a[^>]*>
= <a
后跟任意数量的字符,这些字符不是>
,而是>
(.(?!</a>))*
=任何未跟</a>
的字符,重复任意次数(可能为0).?
=任何字符(可选)</a>
=最后是结束标记。如果您希望标签的内部是捕获组,那么
<a[^>]*>((?:.(?!</a>))*.?)</a>
答案 1 :(得分:1)
据我了解,您希望匹配<a>
标记的内部,无论属性如何混乱:
(<\s*a\s*[^>]*>)([^<]*)(<\s*/\s*a[^>]*>)
第二个捕获组将包含文本。