我对reg exp有些麻烦。我想检查一个班级名称是否是好的"。 我想用reg exp解析这些。
if(ClassClass1
theresNoClass
我试过了:
[A-Z][a-zA-Z]+
但它也说atheresNoClass
是一个好名字,所以我决定检查左边是否有任何字母:
[^a-z][A-Z][a-zA-Z]+
但是'('通过了,我不需要它。
类名的好例子:
错误的例子:
答案 0 :(得分:0)
我认为你在这里唯一缺少的就是匹配单词边界。
正则表达式\b
匹配单词边界。你现在遇到的问题是它匹配以大写字符开头的所有内容(例如NoClass
),即使它在一个单词内。
通过在正则表达式的开头末尾添加\b
,您只能找到整个单词的匹配项:
\b[A-Z][a-zA-Z0-9]+\b
答案 1 :(得分:0)
您可以使用[A-Z][a-zA-Z0-9_]+
,并且需要确保没有打开不区分大小写的标记。
答案 2 :(得分:0)
正如你唯一的要求是“开始时有一个大写字母”
所以你应该使用:^[A-Z][a-zA-Z0-9]+
^
说必须是tex的开头[A-Z]
说大写字母[a-zA-Z0-9]+
说一个或多个字母或数字(\ w也有'_'也不好)使用此结构^[A-Z]
,您确定在开头没有其他大写字母的内容,正如您所要求的那样