Java模式概念中以下模式的含义是什么?
^[\p{Alnum}]{6,7}$
我知道它可以访问 6 到 7 个字母数字字符。但是在上述格式中 $ 的含义是什么。
$
表示一行的结束,也表示一行^
的开始。您提到的模式称为正则表达式
$
表示字符串结束。
如果您的模式中没有它,那么它也将匹配任何 6 到 7 个字符的字母数字字符串....后跟 antyhing
我希望你明白这^
是字符串的开头:)
以下是您要求的格式(我需要这种格式“3AB 45D”。即前 3 个 Alnum 字符和空格以及 3 个 Alnum 字符。),
^[\\p{Alnum}]{3}\\p{Space}[\\p{Alnum}]{3}$
你的图案
^[\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
}