我有一个与正则表达式相关的问题。就我而言,我必须确保这一点 第一个字母是字母,第二个字母可以是任何字母数字+一些特殊字符。
此致 安托
答案 0 :(得分:21)
尝试这样的事情:
^[a-zA-Z][a-zA-Z0-9.,$;]+$
说明:
^ Start of line/string. [a-zA-Z] Character is in a-z or A-Z. [a-zA-Z0-9.,$;] Alphanumeric or `.` or `,` or `$` or `;`. + One or more of the previous token (change to * for zero or more). $ End of line/string.
我选择的特殊字符只是一个例子。根据需要添加您自己的特殊字符。请注意,一些字符需要在字符类中转义,否则它们在正则表达式中具有特殊含义。
我假设“字母”表示A-Z。请注意,在其他一些国家/地区,还有其他字符被视为字母。
更多信息
答案 1 :(得分:3)
试试这个:
/^[a-zA-Z]{1}/
,其中
^ -> Starts with
[a-zA-Z] -> characters to match
{1} -> Only the first character
答案 2 :(得分:0)
我认为最简单的答案是只使用正则表达式选择和匹配第一个字符。
String str = "s12353467457458";
if ((""+str.charAt(0)).matches("^[a-zA-Z]")){
System.out.println("Valid");
}