Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_match用于匹配字符串,如;最大长度[:num:];_Php - Fatal编程技术网

Php preg_match用于匹配字符串,如;最大长度[:num:];

Php preg_match用于匹配字符串,如;最大长度[:num:];,php,Php,我有一些字符串,比如max\u length[:num:,其中:num:可以是任何数字,即(max\u length[50]或max\u length[100]等) PHP中这类字符串的预匹配代码是什么?请尝试: /max_length\[([0-9]+)\]/ //编辑 正如Tomalak Geret'kal所指出的,这也将匹配以下字符串: aaa_max_length[100] 如果只想匹配$foo='max_length[100]这样的字符串,则regexp应为: /^max_leng

我有一些字符串,比如
max\u length[:num:
,其中
:num:
可以是任何数字,即(
max\u length[50]
max\u length[100]
等)

PHP中这类字符串的预匹配代码是什么?

请尝试:

/max_length\[([0-9]+)\]/
//编辑 正如Tomalak Geret'kal所指出的,这也将匹配以下字符串:

aaa_max_length[100]
如果只想匹配$foo='max_length[100]这样的字符串,则regexp应为:

/^max_length\[([0-9]+)\]$/
试试这个:

'/max_length\[(\d+)\]/'
\d+
匹配一个或多个数字

如果字符串必须仅包含以下内容,请使用以下内容:

'/^max_length\[(\d+)\]$/'
您可以这样使用它:

$string = 'max_length[123]';
if (preg_match('/max_length\[(\d+)\]/', $string, $match)) {
    $number = $match[1];
}

请在此处尝试:

不要忘记您的开始和结束锚。编辑以包含您的建议,并感谢您包含分隔符。这么多人似乎不想麻烦>@Hnatt:就这个问题投票,而不是问题。我投票了。刚才向Pawan解释了为什么这个问题他得了-1分。因此,如果我投了否决票,建议添加评论,以便提问者知道他为什么被否决。{sarcasm}上帝禁止有人在问答网站上提问。{/sarcasm}你可能想使用单引号。只是想确定一下。