所有格数量詞Java正規表現
貪欲な数量詞はデフォルトの数量詞です。貪欲な数量詞は、入力文字列から可能な限り一致します(可能な限り最長の一致)。一致が発生しなかった場合は、最後の文字を残して再度一致します。
所有格の数量詞は貪欲な数量詞に似ていますが、唯一の違いは、最初にできるだけ多くの文字を一致させようとし、貪欲な数量詞とは異なり一致が発生しなかった場合、バックトラックしないことです。
貪欲な数量詞の後に「+」を付けると、所有格の数量詞になります。以下は所有格数量詞のリストです-
Quantifier | 説明 |
---|---|
re * + | 0回以上のオカレンスに一致します。 |
re?+ | ゼロまたは1回のオカレンスに一致します。 |
re ++ | 1つ以上のオカレンスに一致します。 |
re {n} + | 正確にn回一致します。 |
re {n、m} + | 少なくともn回、最大でm回のオカレンスに一致します。 |
例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[0-9]++"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); while (matcher.find()) { System.out.print(matcher.group()); System.out.println(); } } }
出力
Enter input text: 45678 45678
-
Java正規表現のサブ式(?:re)
部分表現/メタ文字「(?:re) 」は、一致したテキストを記憶せずに正規表現をグループ化します。 例 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample { public static void main(String args[]) { //Reading String from user System
-
Java正規表現のメタ文字\Bについて説明します。
部分表現/メタ文字「\B 」は単語以外の境界に一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = "\\Bcause"; Scanner sc =