-2

Java Regex を使用して、文字列の最初の 2 桁を取得したいと考えています。部分文字列を使用したくありません。例: 文字列に「12345」が含まれている場合、正規表現を使用して「12」を部分文字列にしたいとします。

4

4 に答える 4

2

substring()ここを使ったほうがいい

System.out.println("12345".substring(0,2)); // 12

複雑な入力を検証する必要がある場合、正規表現は通常意味があります。そうしないと、すべての余分なパターン コンパイルが不要なオーバーヘッドになります。実際に文字列が実際に数値であることを検証し、最初の 2 桁を返したい場合は、基本的な API を使用してそれを行うことができます。

String input = "12345";
try {
  Integer.parseInt(input);
  System.out.println(input.substring(0,2)); // 12
catch (NumberFormatException e) {
  System.out.println("Invalid input: " + input);
}
于 2013-07-02T05:30:57.990 に答える
2

この正規表現を使用できます

^\d{2}

^文字列の開始を示します

\d1桁に一致

{2}前のパターンに 2 回一致する量指定子です


string digits="";
Matcher m=Pattern.compile("^\d{2}").matcher();
if(m.find())digits=m.group();
于 2013-07-02T05:29:04.270 に答える
0

このような最初の2桁の正規表現?^(\d{2})

または.*?(\d).*?(\d).*、文字列がc3hk45のような数字だけではない場合、$1と$2からこれらの2桁を取得できる場合、34を取得するようなものを使用します

于 2013-07-02T07:18:58.967 に答える
0

次の正規表現を試すこともできます。

(?:\D+?)(\d{2})
于 2013-07-02T05:43:33.210 に答える