Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有下划线的正则表达式验证名称_Java_Regex - Fatal编程技术网

Java 带有下划线的正则表达式验证名称

Java 带有下划线的正则表达式验证名称,java,regex,Java,Regex,我有一个验证,比如,字符串可以包含字母数字和uuu中间。 字符串可以以开头和结尾_ 字符串可以是_ 我写了正则表达式 ^(_)?([a-zA-Z0-9]+)?([a-zA-Z0-9])+?(_)?$ 我的单位是睾丸 assertEquals(false, UtilityFunction.isAlphaNumeric("__")); assertEquals(true, UtilityFunction.isAlphaNumeric("a")); assertEquals(

我有一个验证,比如,字符串可以包含字母数字和uuu中间。 字符串可以以开头和结尾_ 字符串可以是_

我写了正则表达式

^(_)?([a-zA-Z0-9]+)?([a-zA-Z0-9])+?(_)?$
我的单位是睾丸

    assertEquals(false, UtilityFunction.isAlphaNumeric("__"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("a"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("_a"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("a_"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("_a_"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("_a_a"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("_a_a"));
    assertEquals(false, UtilityFunction.isAlphaNumeric("_a__a"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("_a_a_"));
    assertEquals(true, UtilityFunction.isAlphaNumeric("a_a"));
失败于 “\u a\u a”

您可以使用此正则表达式

^(?!.*?__)\w+$

@AvinashRaj:我最初建议使用相同的解决方案,但似乎不允许使用
\uuuuu
。您的正则表达式已修复,并检查uu(0或1)、字符数(0或1)和下划线(0或1)<代码>\u a\u a与此格式不匹配。请向我们展示所有允许的内容。我们可以帮你写一个更好的正则表达式。答案很完美。它通过了26项主张。谢谢。在java中,它将是:
^(?!*?\uuuu)\\w+$