正则表达式匹配连续标签忽略它们之间的文本
Regex to match consecutive tags ignoring text between them
我有词性的自定义标签。我想检查它们是否连续。
我的字符串是
<pronouns></pronouns><pronouns></pronouns><verbs></verbs><determiners></determiners><noun></noun>
例如。如果我使用这个正则表达式 (<pronouns><\/pronouns>){1}
它会连续给我两个代词标签
**<pronouns></pronouns><pronouns></pronouns>**<verbs></verbs><determiners></determiners><noun></noun>
如果我使用这个正则表达式 (<pronouns><\/pronouns><verb><\/verb>){0}
它给了我一次代词和动词标签,如果我将其修改为 (<pronouns><\/pronouns><verb><\/verb>){1}
,它将给我两次连续出现的代词和动词标签。
问题是,如果标签之间有任何文本,如果它是连续的,则无法匹配
<pronouns>Hello</pronouns><pronouns>Hi</pronouns><pronouns>Hi</pronouns><verbs>Ok</verbs><determiners>the</determiners><noun>people</noun>
如果您使用 Previous Regex,上述匹配将失败。
如何将正则表达式与文本与前面的条件进行匹配,并获取连续标签标签之间捕获的文本。
如前所述 - 这不是 crystal 清楚...但是如果我理解正确的话你想要匹配如果有两对连续的 pronoun
-标签,无论如何他们的文字内容是。
如果正确,你可以试试
(?:<(pronouns)>.*?<\/>){2}
它匹配第一个 pronoun
标签,捕获名称。然后它匹配直到结束标记的任何文本。匹配,然后再次重复相同的模式。
我有词性的自定义标签。我想检查它们是否连续。 我的字符串是
<pronouns></pronouns><pronouns></pronouns><verbs></verbs><determiners></determiners><noun></noun>
例如。如果我使用这个正则表达式 (<pronouns><\/pronouns>){1}
它会连续给我两个代词标签
**<pronouns></pronouns><pronouns></pronouns>**<verbs></verbs><determiners></determiners><noun></noun>
如果我使用这个正则表达式 (<pronouns><\/pronouns><verb><\/verb>){0}
它给了我一次代词和动词标签,如果我将其修改为 (<pronouns><\/pronouns><verb><\/verb>){1}
,它将给我两次连续出现的代词和动词标签。
问题是,如果标签之间有任何文本,如果它是连续的,则无法匹配
<pronouns>Hello</pronouns><pronouns>Hi</pronouns><pronouns>Hi</pronouns><verbs>Ok</verbs><determiners>the</determiners><noun>people</noun>
如果您使用 Previous Regex,上述匹配将失败。
如何将正则表达式与文本与前面的条件进行匹配,并获取连续标签标签之间捕获的文本。
如前所述 - 这不是 crystal 清楚...但是如果我理解正确的话你想要匹配如果有两对连续的 pronoun
-标签,无论如何他们的文字内容是。
如果正确,你可以试试
(?:<(pronouns)>.*?<\/>){2}
它匹配第一个 pronoun
标签,捕获名称。然后它匹配直到结束标记的任何文本。匹配,然后再次重复相同的模式。