用于检查字符串的php正则表达式

时间:2010-09-30 13:02:28

标签: php regex preg-match

我需要一个正则表达式来检查一个字符串,它有两个以上的符号长度,第一个符号应该是字母,最后一个符号应该是'_'。

我怎么能只用大写第一个符号? 谢谢。

4 个答案:

答案 0 :(得分:3)

匹配

preg_match( "/^[a-z].+_$/i", $str );

大写第一个字母

ucfirst( $str );

答案 1 :(得分:2)

试试这个:

/^[a-zA-Z].+_$/

注意: 而不是.+,您可以使用[some allowed chars]+

答案 2 :(得分:2)

要将输入与至少3个字符匹配,首先是大写字母,最后使用开始下划线:

^[A-Z].+_$

要在开头允许任何字母,您可以使用:

^[A-Za-z].+_$

答案 3 :(得分:1)

您也可以这样做(可能会保存更多的正则表达式在线下抖动):

if ((strlen($str) < 3) || !ctype_alpha($str[0]) || (strrchr($str, '_') != '_')) {
    echo 'Invalid string';
} else {
    $str = ucfirst($str);
}