我需要制作一个与第一个槽“char(0)”上的 a 或 c 匹配的正则表达式 但我只知道如何从A-Z使用
string.matches(("^[A-C]{3}$")) //this includes B, i dont want this to happen
我可以添加字符串吗?或者一个 char 变量?代替a和c?喜欢
"[+ char +]"
?
最佳答案
当您在字符类表达式中使用 -
时,您可以使用第一个字符、最后一个字符以及中间的所有字符。因此,A-C
表示 'A'
、'B'
或 'C'
。如果您需要 'A'
或 'C'
,请改用 [AC]
:
string.matches(("^[AC]{3}$"))
Can I add a
String
or achar
variable?
是的,如果您遵守字符类表达式的一般规则:
- 如果您的
字符串
中有-
或^
,请将它们放在后面 - 如果
String
中有]
或\
字符,请在它们前面添加转义字符。
假设你的字符串中没有特殊字符,你可以这样做
String str = "ac";
string.matches(("^[" + str + "]{3}$"))
关于Java正则表达式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26490670/