多くの通常のエンジンは、グループ化という名前の名前をサポートしています。 JavaはJava7にこの機能を導入しました。構文は.NET(.NETを使用すると同じ名前のグループ化が同じ式に表示されますが、Javaは表示されません)に似ています。
グループに名前を付けるのは理解しやすく、グループに名前を付けることを意味します。以下は、Javaでの使用方法と予防策の簡単なデモです。
1.レギュラーに名前という名前のグループを定義します
(?<name> x)
ここでは、xは一致したいコンテンツです。これで名前を繰り返すことはできず、名前は数字から始めることができないことに注意してください!
2。名前グループと一致するコンテンツへの後退
/k <Name>
逆流は、グループの表現ではなく、グループが一致するもののためのものであることに注意してください。
3。交換して、グループ名でキャプチャされた文字列を参照してください
$ {name}
4.名前グループによってキャプチャされた文字列を取得します
グループ(文字列名)
注:シーケンス番号を使用して、名前付きキャプチャを参照することもできます。シーケンス番号は1から始まり、0は通常の一致結果です。
例として、年、月、日を個別に取得するための簡単なルールが次のとおりです。
文字列s = "2015-10-26";パターンP = pattern.compile( "(?<eart> // d {4}) - (?<month> // d {2}) - (?<day> // d {2})"); Matcher M = P.Matcher(s); if(m.find()){system.out.println( "year:" + m.group( "year")); // year system.out.println( "month:" + m.group( "month")); //月System.out.println( "day:" + m.group( "day")); // Daily System.out.println( "year:" + m.group(1)); // system.out.printlnの最初のグループ( "month:" + m.group(2)); // system.out.printlnの2番目のグループ( "day:" + m.group(3)); // 3番目のグループ} system.out.println(s.ReplaceAll( "(?<ear> // d {4}) - (?<month> // d {2}) - (?<day> // d {2}) //一年式のフォームの日付を1月のフォームに変更する出力結果
年:2015Month:10Day:26year:2015Month:10Day:2626-10-2015
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。