2016-09-09 10 views
-1

私は品詞のカスタムタグを持っています。彼らが連続しているかどうかチェックしたい。 私の弦は連続するタグを一致させるための正規表現

<pronouns></pronouns><pronouns></pronouns><verbs></verbs><determiners></determiners><noun></noun> 

などです。私は、この正規表現を使用する場合(<pronouns><\/pronouns>)\1{1}それは私に与え連続2個の代名詞タグ

**<pronouns></pronouns><pronouns></pronouns>**<verbs></verbs><determiners></determiners><noun></noun> 

と私はそれが私の代名詞と動詞タグの出現を与え、(<pronouns><\/pronouns><verb><\/verb>)\1{0} この正規表現を使用する場合、私は(<pronouns><\/pronouns><verb><\/verb>)\1{1}にそれを変更した場合、それは私に2を与えます代名詞と動詞タグの連続した出現。それが一致しないタグの間の任意のテキストがある場合、それは連続している場合は、前の正規表現を使用する場合 問題はこれです

<pronouns>Hello</pronouns><pronouns>Hi</pronouns><pronouns>Hi</pronouns><verbs>Ok</verbs><determiners>the</determiners><noun>people</noun> 

試合は、上記のために失敗します。

正規表現を前の条件と一致させるにはどうすればいいですか?また、連続したタグタグの間にテキストを取り込むこともできます。

+2

これは多少不明です。どの出力を得たいかを明確にしてください。 '((。*?)<\/pronouns>)\ g <1>'を試してください。タグの間にはどのテキストをマッチさせる必要がありますか? こんにちはこんにちは 'の' Hi'と 'Hello'の両方?正規表現の味は何ですか? –

答えて

0

これは明瞭ではありません...しかし、正確に理解すれば、テキストコンテンツが何であるにしても、2つの連続するpronounタグのペアがある場合にマッチしたいと思います。

それが正しいなら、あなたは

(?:<(pronouns)>.*?<\/\1>){2} 

を試みることができるそれは名前をキャプチャ、最初pronoun -tagと一致します。次に、終了タグまでの任意のテキストと一致します。一致してから同じパターンを繰り返します。

Check it out here at regex101

+0

これは私が期待したものですが、代名詞と動詞の悔い改めが必要な場合には悔い改めが得られません。私の古い正規表現(<\/pronouns>)\ 1 {1}がそうです。どのように私は上記を達成する正規表現を変更することができます – riskycoder

関連する問題