Mar*_*rov 5 php regex preg-match regular-language
<?php
$string = 'user34567';
if(preg_match('/user(^[0-9]{1,8}+$)/', $string)){
echo 1;
}
?>
Run Code Online (Sandbox Code Playgroud)
我想检查字符串是否有单词user跟随数字,最多可以是8个符号.
Ja͢*_*͢ck 10
你真的非常接近:
if(preg_match('/^user[0-9]{1,8}$/', $string)){
Run Code Online (Sandbox Code Playgroud)
"必须在字符串开头匹配"的锚点应该一直在前面,然后是"user"字面值; 然后指定字符集[0-9]和乘数{1,8}.最后,你以"必须在字符串末尾匹配"锚点结束.
关于原始表达的一些评论:
^字符串的开始,比赛这么写,其他地方有这样的表达里,但一开始不会产生预期的结果+是一个乘数; {1,8}也是一个,但在表达式后只能使用一个乘数顺便说一句,而不是[0-9]你也可以使用\d.这是一个缩短正则表达式的自动字符组,虽然这个特殊的字符组不会保存太多字符;-)