Javaの正規表現を逆にするには?たとえば、 'ab。+ de' => 'ed。+ ba'などです。Javaの逆正規表現
4
A
答えて
4
wow。
正規表現用のパーサーを作成し、すべてのトークン/パーツを逆にする必要があります。
この場合AB +デ
、B、である。+、D、E
これは
E、D、+、bは逆、
今グループ
((AB)(。+デ))
を想像逆
((編+)(BA))
4
針よりも乾草を逆転させるほうがはるかに簡単です。 Matcher
はString
の代わりにCharSequence
を受け取るので、String
(単にReverse a string in Java, in O(1)?の回答を参照)をラップするだけで簡単にオーバーヘッドできます。
Matcher
の代替バージョンを作成してパターンを反転しているように見せてもかまいませんが、入力を逆転させるだけです。
0
Tiago Peczenyjが正しいと背面の両方の参照であり、捕捉基と命名基が扱われる必要があります。名前付きグループは、名前付きグループを名前で参照する必要があるというJava RegExの制限がないため、他の任意のグループと同様に番号で参照することができます。
誰かがJavaソリューションに関心があるならば、私はそれを行うためのライブラリを実装しました。 https://github.com/vsch/reverse-regex。
すべての有効なJava正規表現構文を処理し、すべてのニーズマッピングと逆転を処理する逆引き検索用のパターン、マッチャ、および入力をラップするユーティリティクラスを提供します。
関連する問題
- 1. 正規表現とは逆
- 2. 正規表現(Java)
- 3. java正規表現
- 4. Java正規表現
- 5. Java正規表現
- 6. 正規表現の真の逆です
- 7. Javaの正規表現パターン
- 8. Javaの正規表現エンジンクラッシュ
- 9. Javaルックアヘッドの正規表現
- 10. java正規表現のキャプチャグループ
- 11. Javaの正規表現
- 12. Javaの正規表現
- 13. Javaの正規表現
- 14. Javaの正規表現
- 15. 正規表現のJava
- 16. Java正規表現のヘルプ
- 17. JavaScript正規表現からJava正規表現
- 18. Java正規表現リスト
- 19. Java正規表現ヘルプ
- 20. 正規表現パターンマッチングは、Java
- 21. 正規表現は、Java
- 22. マルチスレッドJava正規表現
- 23. 正規表現の正規表現
- 24. 正規表現 - 正規表現
- 25. Javaでの正規表現とシェルスクリプトでの正規表現との比較
- 26. Java正規表現の別のパターン
- 27. Javaでの正規表現のマッチング
- 28. Javaの正規表現の問題
- 29. のJavaのstring.Split()正規表現
- 30. Javaの正規表現のメタ文字
なぜこれを行う必要がありますか? –
バックワード検索を実装するには、これを行う必要があります。 – Michael