正则表达式模式匹配不起作用

时间:2014-01-21 22:47:12

标签: regex

我想从

获取<IMAGE%>
< img src= <IMAGE%> width="50" height="35" >

当我将MatchPattern用作"<[^>]*%>"时,我得到<img src=" <IMAGE%>而不是<IMAGE%>

这是完整的字符串:

< tr>< td>< img src=" <OI_IMAGE%>" width="50" height="35">< /td>< td><NAME%>< /td>< td><EMAIL%>< /td>< td><DELIVERT_DATE%>< /td>< /tr>

我需要

<OI_IMAGE%>
<NAME%>
<EMAIL%>
<DELIVERT_DATE%>

2 个答案:

答案 0 :(得分:0)

您需要更多地限制正则表达式。尝试/"(<[^>]*%>)/并使用第一个捕获组。我假设你的真实数据是这样的:

<img src="<IMAGE%>" width="50" height="35">

请参阅http://regex101.com/r/wF7eS9以获取解释。


编辑后:在您的char组中使用字符组\w和空格以及下划线_< %>字符之间不允许任何其他内容。添加/g修饰符以获取所有实例。

/(<[\w\s_]+?%>)/g

另请参阅更新的regex101.com

答案 1 :(得分:0)

你只需要改变你的角色类,也可以否定<

<[^<>]*%>