我正在尝试使用符合以下模式的正则表达式:
_Something6
当一切都必须以下划线开头,后面必须跟一个大写字母,然后是任何字母或数字,但不再是下划线或任何特殊字符。
我有这个,但正如你所看到的,我不是一个正则表达式的天才
^/_[A-Z][a-z+][0-9]
我很感激任何帮助。
答案 0 :(得分:3)
这应该是:^ _ [A-Z] [a-z] + [0-9]
正如docs所说:
^
行首_
下划线[A-Z]
任何大写字母A到Z(只有一个)[a-z]+
任何小写字母形式为a至z(至少一次)[0-9]
数字并确保它以$
后缀(带有数字)后缀:
^_[A-Z][a-z]+[0-9]$
答案 1 :(得分:1)
您可以尝试:^_[A-Z][a-z0-9]+
。那是从:
^_ : match the beginning of the string
[A-Z] : followed by an uppercase letter
[a-z0-9]+ : followed by any lowercase letters or numerics
答案 2 :(得分:1)
试试这个:
^_[A-Z][\w&&[^_]]+$
答案 3 :(得分:0)
这样的事情应该有效:
^_[A-Z][A-Za-z\d]+$
[A-Za-z]
如果对您更有意义,也可能是[A-Z]|[a-z]
。 \d
是[0-9]
的假名 - 再次使用哪个更清楚。
你的例子有点不清楚,所以有几个例子:
String a = "_Som3th1ng6"; // This matches.
String b = "_Some_thing"; // This DOES NOT match.
如果你只想匹配END与数字的字符串,这样的东西就可以了:
^_[A-Z][A-Za-z]+\d+$
^
和$
匹配字符串的开头和结尾,例如:
String a = "_Something6"; // This matches.
String b = " _Something6 "; // This DOES NOT match.
如果这不是您想要的,请省略这两个字符。