-2

1〜3桁の文字列を照合しようとしていますが、

例:

1
 2
123
  3

これは私が試したものです、

[\s]?[0-9]{1,3}[\s]?

これは一致しています、

123 ->a space after 123
4

4 に答える 4

2

あなたの質問は明確ではありませんが、あなたはその文字列を探しているようです

  • 正確に3文字の長さです
  • 数字または空白のみが含まれます
  • 少なくとも1桁が含まれています

その場合、正規表現は^(?=.*\d)[\d\s]{3}$です。Java文字列として:"^(?=.*\\d)[\\d\\s]{3}$"

説明:

^         # Start of string
(?=.*\d)  # Assert that there is at least one digit in the string
[\d\s]{3} # Match 3 digits or whitespace characters
$         # End of string
于 2012-08-05T20:20:24.703 に答える
1

これはあなたのために働くはずです

^\\d{1,3}$

説明

"^" +     // Assert position at the beginning of the string
"\\d" +    // Match a single digit 0..9
"{1,3}" +   // Between one and 3 times, as many times as possible, giving back as needed (greedy)
"$"       // Assert position at the end of the string (or before the line break at the end of the string, if any)
于 2012-08-05T19:59:46.030 に答える
0

正規表現エンジンで単語境界メタ文字を使用できますか?これで試してください:\b\d{1,3}\b

于 2012-08-05T19:58:19.247 に答える
0

最大3桁に一致するパターンで、先頭に空白があり、末尾に空白がない場合は、次のようになります^\s*\d{1,3}$

これは一致します:

1
 2
123
  3

ただし、末尾にスペースがある「123」とは一致しません。

于 2012-08-05T20:06:24.950 に答える