4

Java模式概念中以下模式的含义是什么?

^[\p{Alnum}]{6,7}$

我知道它可以访问 6 到 7 个字母数字字符。但是在上述格式中 $ 的含义是什么。

4

4 回答 4

2

$表示一行的结束,也表示一行^的开始。您提到的模式称为正则表达式

于 2012-06-01T10:45:57.563 回答
1

$表示字符串结束。

如果您的模式中没有它,那么它也将匹配任何 6 到 7 个字符的字母数字字符串....后跟 antyhing

我希望你明白这^是字符串的开头:)

于 2012-06-01T10:46:29.110 回答
1

以下是您要求的格式(我需要这种格式“3AB 45D”。即前 3 个 Alnum 字符和空格以及 3 个 Alnum 字符。),

^[\\p{Alnum}]{3}\\p{Space}[\\p{Alnum}]{3}$
于 2012-06-05T05:31:47.947 回答
0

你的图案

^[\p{Alnum}]{6,7}$

解释

"^" +              // Assert position at the beginning of the string
"[\\p{Alnum}]" +    // Match a single character present in the list below
                      // A character in the POSIX character class “Alnum”
   "{6,7}" +          // Between 6 and 7 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)

更新:

try {
    String resultString = subjectString.replaceAll("(?i)\\b(\\p{Alnum}{3})(\\p{Alnum}{3})\\b", "$1 $2");
} catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
} catch (IllegalArgumentException ex) {
    // Syntax error in the replacement text (unescaped $ signs?)
} catch (IndexOutOfBoundsException ex) {
    // Non-existent backreference used the replacement text
}
于 2012-06-01T11:35:18.470 回答