例を使用したJavaのマッチャーuseTransparentBounds()メソッド
java.util.regex.Matcherクラスは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクターはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。
正規表現では、lookbehindおよびlookahead構造は、他のパターンの前または後の特定のパターンに一致するために使用されます。たとえば、5〜12文字を受け入れる文字列を受け入れる必要がある場合、正規表現は-
になります。"\\A(?=\\w{6,10}\\z)";
デフォルトでは、マッチャー領域の境界は、前方、後方、および境界の一致を構成する構成に対して透過的ではありません。つまり、これらの構成は、領域の境界を超えて入力テキストの内容と一致することはできません-
例1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class useTransparentBoundsExample { public static void main(String[] args) { //Regular expression to accepts 6 to 10 characters String regex = "\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 to 12 characters: "); String input = new Scanner(System.in).next(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting region to the input string matcher.region(0, 4); //Switching to transparent bounds if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } } }
出力
Enter 5 to 12 characters: sampleText Match not found
useTransparentBounds() このクラスのメソッドはブール値を受け入れます。このメソッドにtrueを渡すと、現在のマッチャーは透明な境界を使用し、このメソッドにfalseを渡すと、不透明な境界を使用します。
例2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { //Regular expression to accepts 6 to 10 characters String regex = "\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 to 12 characters: "); String input = new Scanner(System.in).next(); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); //Setting region to the input string matcher.region(0, 4); //Switching to transparent bounds matcher = matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } } }
出力
Enter 5 to 12 characters: sampletext Match found
-
例を使用したJavaのMatchermatches()メソッド
java.util.regex.Matcherクラスは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクタはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。 matchs() このクラスのメソッドは、正規表現で表されるパターンと文字列を照合します(両方ともこのオブジェクトの作成中に指定されます)。一致する場合、このメソッドはtrueを返し、そうでない場合はfalseを返します。この方法の結果が真であるためには、領域全体が一致している必要があります。 例 import
-
例を使用したJavaのマッチャーstart()メソッド
java.util.regex.Matcherクラスは、さまざまな一致操作を実行するエンジンを表します。このクラスのコンストラクタはありません。クラスjava.util.regex.Patternのmatches()メソッドを使用して、このクラスのオブジェクトを作成/取得できます。 start() Matcherクラスのメソッドは、一致した文字の開始インデックスを返します。 例 部分式[...]は、入力文字列の中括弧内に指定された文字と一致します。次の例では、これを使用して文字tと一致します。ここで compile()メソッドを使用して正規表現をコンパイルしました。 Ma