我有一个以字符串格式存储的长xml原始消息。样本如下。
<tag1>val</tag><tag2>val</tag2><tagSomeNameXYZ/>
我正在寻找这个字符串并查明它是否包含一个空的html标记,例如<tagSomeNameXYZ/>
。这就是, SomeName 的值可以根据上下文而改变。我尝试使用Str.match(/tagSomeNameXYZ/g)
和Str.match(/<tag.*.XYZ\/>/g)
来确定它是否包含该字符串,但是能够让它返回任何内容。我在撰写与<tag*XYZ/>
匹配的注册表时遇到问题,其中*
将是SomeName
(我对此不感兴趣)
Tl; dr:如何从字符串中过滤掉<tagSomeNameXYZ/>
。格式为:<constant variableName constant/>
它应匹配的示例模式:
<tagGetIndexXYZ/>
<tagGetAllIndexXYZ/>
<tagGetFooterXYZ/>
答案 0 :(得分:0)
Str.match(/<tag.*.XYZ\/>/g)
所遇到的问题是。*会根据您的意愿拍摄所看到的所有内容并且不会停留在XYZ上。所以你需要找到一种方法来阻止(例如[^/]*
意味着继续,直到找到/
),然后从那里开始工作(slice
)。
这有用吗
testString = "<tagGetIndexXYZ/>"
res = testString.match(/<tag([^/]*)\/\>/)[1].slice(0,-3)
console.log(res)
&#13;