-1
Pattern pattern = Pattern.compile("\\d{2,2}9?\\d{4,4}\\d{4,4}");

上記のパターンを使用して電話番号を一致させましたが、「110123456789」のような数字はパターンと一致します。ただし、3 番目の数値は 0 であり、9 である必要があります。パターンの何が問題になっていますか?

電話番号は 10 桁または 11 桁です。数字が 11 桁の場合、3 番目は「9」でなければなりません。例:

11 1234 5678

48 91234 5678

4

3 に答える 3

3

2つのこと:

  1. 疑問符は 9 がオプションであることを示しているため、9必要な場合は削除してください。
  2. 正規表現は、文字列の一部と一致できます。^正規表現の最初と最後で使用して$、文字列全体のみに一致させます。このページを見る
于 2013-10-15T11:11:32.110 に答える
1

単語境界を使用するだけ\bです:

Pattern pattern = Pattern.compile("\\b\\d{2}9?\\d{4}\\d{4}\\b");
于 2013-10-15T11:12:21.847 に答える