正则表达式找到模式

时间:2019-10-08 11:09:17

标签: regex

我如何通过使用正则表达式找到多次寻址的“ 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" />

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:

<c\s+start=\"(?<start>[^\"]+)\"\s+end=\"(?<end>[^\"]+)\"\s+\/>

此表达式具有两个分别称为startend的组,用于从引号中检索值。

但是如果不需要命名组,则可以使用<c\s+start=\"([^\"]+)\"\s+end=\"([^\"]+)\"\s+\/>

您可以在此处检查您的正则表达式:https://regex101.com/

相关问题