我有一个词性的自定义标签。我想检查它们是否是连续的。 我的字符串是
<pronouns></pronouns><pronouns></pronouns><verbs></verbs><determiners></determiners><noun></noun>
EG。如果我使用这个正则表达式(<pronouns><\/pronouns>)\1{1}
,它会连续给我两个代词标签
**<pronouns></pronouns><pronouns></pronouns>**<verbs></verbs><determiners></determiners><noun></noun>
如果我使用此正则表达式(<pronouns><\/pronouns><verb><\/verb>)\1{0}
它给了我一个代词和动词标签,如果我把它修改为(<pronouns><\/pronouns><verb><\/verb>)\1{1}
,它会给我两个连续出现的代词和动词标签。
问题是,如果标签之间有任何文本,如果连续
<pronouns>Hello</pronouns><pronouns>Hi</pronouns><pronouns>Hi</pronouns><verbs>Ok</verbs><determiners>the</determiners><noun>people</noun>
如果您使用Previous Regex,则匹配失败。
如何将正则表达式与文本与先前条件匹配,并获取在连续标记标记之间捕获的文本。
答案 0 :(得分:0)
如前所述 - 这不是很清楚...但如果我理解正确,你想要匹配,如果有两对连续的pronoun
- 标签,无论它们的文字内容是什么。< / p>
如果这是正确的,你可以尝试
(?:<(pronouns)>.*?<\/\1>){2}
它匹配第一个pronoun
- 标记,捕获名称。然后它匹配任何文本到结束标记。匹配,然后再次重复相同的模式。