Java 用于验证此特定格式的名称的正则表达式
我在寻找正则表达式的解决方案。我有一个全名,允许的字符是a-z、a-z、空格和/,-。@' 此外,它不应以空白字符/空格开头 因此,基本上可以接受以下名称Java 用于验证此特定格式的名称的正则表达式,java,regex,Java,Regex,我在寻找正则表达式的解决方案。我有一个全名,允许的字符是a-z、a-z、空格和/,-。@' 此外,它不应以空白字符/空格开头 因此,基本上可以接受以下名称 安吉思·萨辛德兰 Anjith@Sasindran' 安吉思 Anjith/,Sasi@n“跑 安-。萨辛德@ 而以下情况并非如此 一个%jith Sasindran Anjit*)Sasindran 基本上,除了我上面列出的以外,任何东西都可以 我不知道该怎么做。我对正则表达式b/w知之甚少。因此,任何帮助都将不胜感激。使用正则表达式,您可
我不知道该怎么做。我对正则表达式b/w知之甚少。因此,任何帮助都将不胜感激。使用正则表达式,您可以定义如下所示的字符类:
[\sa-zA-Z@\,\-'/]
这样,您就可以定义一个“允许的”字符。您可以通过添加加号操作符来指定它的序列:[\sa-zA-Z@\,\-'/]+
现在,为了避免文本以空白字符开头,您可以创建一个字符类,其中包含除空格[a-zA-Z@,\-'/]
之外的所有需要的字符
因此,现在,最后一个正则表达式是“除空格外的任何想要的字符,后跟任意想要的字符一定次数”:[a-zA-Z@,\-'/][\sa-zA-Z@,\-'/]*
对于java,必须使用模式类对字符串应用正则表达式检查:
var nameMatcher=Pattern.compile(“[a-zA-Z@\\,\\-'/][\\sa-zA-Z\\,\\-'/]*”).asPredicate();
if(nameMatcher.test(“Anjit@”))System.out.println(“Name match!”);
您可以使用获取大量信息。使用:
^[^\s][ A-Za-z-'@.,/]*$
检查开头是否没有空格^[^\s]
接受给定字符串中的所有字母A-Za-z
只接受这些特殊字符-'@、/
匹配0个或多个前面的标记*
%
作为输入进行测试。它会告诉你这是一场比赛。[^\s]`表示除空白字符以外的任何字符。@capt.swag$
结尾表示它将接受以该正则表达式条件结尾的字符串。更好的理解是,正如@amanin所说的,用您的示例An%jith Sasindran
测试它,它仍然会匹配An
部分。另外,+
符号将匹配1个或多个前面的标记,而*
匹配0个或多个。在这些示例中,您提供的*/+
都可以工作,但您需要根据自己的情况使用它