Java 如何使用正则表达式匹配一个八位数字,中间还可以有一个空格?

Java 如何使用正则表达式匹配一个八位数字,中间还可以有一个空格?,java,regex,Java,Regex,我想匹配12345678或12345678 这个正则表达式错了吗 if(!number.matches("^\\d{4}[, ]\\d{4}$")){ throw new Exception(" number is not valid : "+number); } 在[] ^\d{4}[\s,]?\d{4}$ 在[] ^\d{4}[\s,]?\d{4}$ 如果很接近,则需要指定空格/逗号是可选的,并带有量词?是个好词,因为它的意思是“零或一”。所以你的表情是 ^\d{4}[, ]?\d

我想匹配
12345678
12345678

这个正则表达式错了吗

if(!number.matches("^\\d{4}[, ]\\d{4}$")){
  throw new Exception(" number is not valid : "+number);
}

[]

^\d{4}[\s,]?\d{4}$

[]

^\d{4}[\s,]?\d{4}$

如果很接近,则需要指定空格/逗号是可选的,并带有量词
是个好词,因为它的意思是“零或一”。所以你的表情是

^\d{4}[, ]?\d{4}$

如果很接近,则需要指定空格/逗号是可选的,并带有量词
是个好词,因为它的意思是“零或一”。所以你的表情是

^\d{4}[, ]?\d{4}$

需要进行修改以匹配“12345678”

使用此正则表达式:“^\d{4}[,]?\d{4}$”


希望这有帮助

需要修改以匹配“12345678”

使用此正则表达式:“^\d{4}[,]?\d{4}$”


希望这会有所帮助

是否也要匹配逗号<代码>[,]匹配逗号或空格字符。你想要的效果看起来像
(|)
,除非有更好的方法:

我想你要找的是:

/^\d{4}\s?\d{4}$/
请注意\s可以匹配任何空格字符,包括换行符。如果仅要匹配空格字符
'
,请使用以下命令:

/^\d{4}[ ]?\d{4}$/

是否也要匹配逗号<代码>[,]匹配逗号或空格字符。你想要的效果看起来像
(|)
,除非有更好的方法:

我想你要找的是:

/^\d{4}\s?\d{4}$/
请注意\s可以匹配任何空格字符,包括换行符。如果仅要匹配空格字符
'
,请使用以下命令:

/^\d{4}[ ]?\d{4}$/
试试这个,不要用逗号


试试这个,不要用逗号。

也许现在是提出问题的好时机。
使用正则表达式而不必弄乱自己的代码的绝佳工具。

也许现在是提出问题的好时机。
使用正则表达式而不必弄乱自己的代码的绝佳工具。

也许一个小的解释可以帮助消除对代码的误解。这个答案说明字符串应该匹配一个模式,其中前4个字符是数字,可选地后跟一个空格字符和一个逗号,然后再后跟一个由4个字符组成的序列,这些字符都应该是数字,并且必须位于输入字符串的末尾。这不是你的意图吗?也许一个小的解释可以帮助消除对代码的误解。这个答案说明字符串应该匹配一个模式,其中前4个字符是数字,可选地后跟一个空格字符和一个逗号,然后再后跟一个由4个字符组成的序列,这些字符都应该是数字,并且必须位于输入字符串的末尾。这不是你的意图吗?