一致するJava正規表現の位置と長さの決定
java.util.regex.Matcherクラスのstart()メソッドは、一致の開始位置を返します(一致が発生した場合)。
同様に、Matcherクラスのend()メソッドは、一致の終了位置を返します。
したがって、start()メソッドの戻り値は一致の開始位置になり、end()メソッドとstart()メソッドの戻り値の差は一致の長さになります。
例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherExample { public static void main(String[] args) { int start = 0, len = -1; Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "\\d+"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); while (matcher.find()) { start = matcher.start(); len = matcher.end()-start; } System.out.println("Position of the match : "+start); System.out.println("Length of the match : "+len); } }
出力
Enter input text: sample data with digits 12345 Position of the match : 24 Length of the match : 5
-
JavaRegExを使用して固定文字セットを照合する方法
文字クラスを使用すると、固定された文字セットから1つの文字を受け入れることができます。たとえば、 「[tmp]」という表現 」は文字tまたは、mまたは、pに一致します。 「[^tp]」という表現 」は、tまたはp以外の文字と一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { &nb
-
Javaの長さと長さ()の違いは何ですか?
長さ は配列のインスタンス変数です Javaではlength() 文字列クラスのメソッドです 。 長さ 配列はオブジェクトです 同じtyの固定数の値を保持します pe 。 長さ 配列内の変数は、配列の長さを返します つまり、配列に格納されている要素の数 。 配列が初期化されると、その長さは変更できません 、したがって、長さ変数を直接使用して配列の長さを取得できます。 長さ 可変 配列にのみ使用されます 。 例 public class ArrayLengthTest { public static void main(String args[]) { &nbs