我正在解决 Java 中的一个问题,需要创建一个正则表达式,它检查字符串中的下一个规则:
字符串只能包含数字、大小写字母和下划线字符"_"
;
字符串不能以数字开头;
如果字符串以下划线开头,则第二个字符不能是下划线,即必须是数字或字母;
该字符串只能由一个字符组成,但该字符不能是下划线;
我不明白如何制作正则表达式的第一部分。我尝试将其部分部分地制作:
表达式"_[a-zA-Z0-9]"
满足条件“如果字符串以下划线字符开头,则第二个字符是字母或数字”。
表达式"\\D"
满足条件“字符串不得以数字开头”。
表达式"[a-zA-Z]"
满足条件“字符串以大写或小写字母开头”。
表达式的最后一部分很简单—— "w*"
。
当我尝试将所有这些放在一起时"(_[a-zA-Z0-9])*|(\\D)*|([a-zA-Z])*w*"
,获得的正则表达式无法正常工作。
以下字符串b33
不_n1
适合我的正则表达式,但该字符串__
适合它。
如何修复我的正则表达式?
温温酱
慕妹3146593
相关分类