G.:
String string="Marc Louie, Garduque Bautista";
Run Code Online (Sandbox Code Playgroud)
我想检查一个字符串是否只包含单词,逗号和空格.我试图使用正则表达式,我得到的最接近的是:
String pattern = "[a-zA-Z]+(\\s[a-zA-Z]+)+";
Run Code Online (Sandbox Code Playgroud)
但它不会检查是否有逗号.有什么建议吗?
Bor*_*der 29
您需要使用该模式
^[A-Za-z, ]++$
Run Code Online (Sandbox Code Playgroud)
例如
public static void main(String[] args) throws IOException {
final String input = "Marc Louie, Garduque Bautista";
final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
if (!pattern.matcher(input).matches()) {
throw new IllegalArgumentException("Invalid String");
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
根据迈克尔精明的评论,OP可能意味着一个逗号,在这种情况下
^[A-Za-z ]++,[A-Za-z ]++$
Run Code Online (Sandbox Code Playgroud)
应该工作.