blabl
の(.*)\\1
のパターンをregexec()
で検索しています。私はregmatch_t
構造で成功したが空のマッチを得る。正確に一致したものは何ですか?なぜ正規表現が空で正規表現にマッチするのですか?
答えて
正規表現*は、ゼロ文字の文字列、または隣接する文字間に何もない文字列との間で正常に一致します。
あなたのパターンは括弧内のゼロ文字と一致しており、その直後にゼロ文字がマッチしています。
正規表現が/f(.*)\1/
の場合、 'f'と最初の 'o'の間の文字列 "foo"と一致します。
.*
の代わりに.+
を使用すると、0以上ではなく1つ以上と一致する可能性があります。 (。+を使用すると 'foo'の 'oo'と一致する必要があります)
\ 1は後でやり直したり、あなたはちょうど(。*)を使うべきです、これはあなたに必要な結果を与え、自動的に後方参照番号1が与えられます。私は正規表現の専門家ではありませんが、これは私の限られた知識に基づく私の考えです。
本当に起こっていることを見てみると、私はいつもRegexBuddyに戻ります。
意図は、テキストの2つの行に現れた文字列に一致することでした。そのためには\ 1が機能します。 – Mnebuerquo
これは意味があります。 Regexの私の限られた知識は、もう一度見せてくれる! –
\ 1が "再一致"命令です。質問はあなたが再試合をするためにすぐにしたいんです(例えば、BLABLA)
/(.+)\1/
以降(例えば、BLAエヘンBLA)
実際/(.+).*\1/
- 1. 正規表現マッチの問題次の正規表現では
- 2. 正規表現マッチが
- 3. 正規表現がマッチ
- 4. 正規表現オプションの非正規表現のグループのマッチ
- 5. 正規表現にマッチする遅い
- 6. 正規表現マッチ、かなりシンプル:
- 7. 正規表現の正規表現
- 8. 正規表現 - 正規表現
- 9. 正規表現の正規表現ですか?
- 10. 含む正規表現にマッチ*、_
- 11. JavaScriptの正規表現をPHPの正規表現にする
- 12. 空白、アクションスクリプト、正規表現
- 13. Javascriptの正規表現のマッチのみ
- 14. PHP正規表現に相当するJavascriptの正規表現
- 15. のVisual Studio:マッチ正規表現改行
- 16. マッチと正規表現の使用
- 17. PHP Mongoの集計マッチ正規表現
- 18. 正規表現ライブラリなしのシンプルな正規表現ですか?
- 19. 文字列または正規表現のリテラルにない正規表現と一致する正規表現
- 20. 正規表現に一致する正規表現
- 21. 正規表現に一致する正規表現
- 22. 正規表現での正規表現の一致値
- 23. Ruby:equalsが正規表現の正規表現でなぜ解析エラーを引き起こすのですか?
- 24. 正規表現は、私は次のパターンにマッチする正規表現を記述する必要が
- 25. ある正規表現を含むが別の正規表現を除外する正規表現
- 26. 正規表現:表現
- 27. 正規表現
- 28. 正規表現
- 29. 正規表現
- 30. 正規表現
、/ F( 。*)\ 1 /は 'foo'にマッチします。スターが貪欲であるからです。しかしそれはちょうど「f」にもマッチします。 –