我如何通过使用正则表达式找到多次寻址的“ c start”模式。换句话说,只有在多次发现此模式时,才应找到该模式。下面是一个xml示例,它显示两次“ c start”,因此我想知道什么是正则表达式才能找到它?
<c start="11111" end="1111111" />
<c start="11111" end="222222222" />
</action>
<action
src="abc"
system="2222">
<param
name="trackID"
value="1"
valueType="data">
</param>
<param
name="trackName"
value="track"
valueType="data">
</param>
<c start="11111" end="1111111" />
<c start="11111" end="222222222" />
我可能拥有以下xml,但一旦使用该模式,它的内容将不会更多。
<c start="11111" end="1111111" />
</action>
<action
src="abc"
system="2222">
<param
name="trackID"
value="1"
valueType="data">
</param>
<param
name="trackName"
value="track"
valueType="data">
</param>
<c start="11111" end="1111111" />
答案 0 :(得分:0)
请尝试以下操作:
<c\s+start=\"(?<start>[^\"]+)\"\s+end=\"(?<end>[^\"]+)\"\s+\/>
此表达式具有两个分别称为start
和end
的组,用于从引号中检索值。
但是如果不需要命名组,则可以使用<c\s+start=\"([^\"]+)\"\s+end=\"([^\"]+)\"\s+\/>
。
您可以在此处检查您的正则表达式:https://regex101.com/