我们如何在java脚本中查看java脚本中的内容?
RegEx适用于使用lookbehind的php解析器
这是使用php解析器工作的正则表达式。
(?<=MakeName=)(.*?)([^\s]+)
这会产生值
(MakeName=)(.*?)([^\s]+)
这会产生匹配+值
从中提取值的xml响应。
<ModelName="Tacoma" MakeName="Tundra" Year="2015">
我只需要值
答案 0 :(得分:0)
JavaScript中没有后悔。
如果您确定输入中存在属性MakeName
,那么您可以使用此正则表达式:
/[^"]*(?!.*\sMakeName\s*=)(?="([^"]*"[^"]*")*[^"]*$)/
它抓取第一个不包含双引号的字符系列,并在其后紧跟双引号,在此之后跟随偶数个双引号直到输入结束(以确保我们匹配< em> inside 带引号的字符串),但MakeName=
不应该在匹配后的任何地方出现。
这当然仍然不是防弹,因为它会因某些边界情况而失败,例如单引号值。:
<ModelName="Tacoma" MakeName='Tundra' Year="2015">
如果需要,您可以通过重复相同的模式,然后基于单引号,并将两者与OR(|
)组合来解决这个问题。
var s = '<ModelName="Tacoma" MakeName="Tundra" Year="2015">';
result = s.match(/[^"]*(?!.*\sMakeName\s*=)(?="([^"]*"[^"]*")*[^"]*$)/);
console.log(result[0]);