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

我写了RegEx

^(_)?([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"));


失败于
“ _a_a”

最佳答案

您可以使用此正则表达式

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


RegEx Demo

关于java - 带下划线的RegEx验证名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26459727/

10-14 11:43