preg_match用于匹配“max_length [:num:]”之类的字符串

时间:2011-09-03 15:48:40

标签: php

我有一些像max_length[:num:]这样的字符串,其中:num:可以是任意数字,即(max_length[50]max_length[100]等。

PHP中此类字符串的preg_match代码是什么?

2 个答案:

答案 0 :(得分:2)

尝试:

/max_length\[([0-9]+)\]/

// EDIT 正如Tomalak Geret'kal指出的那样,这也会匹配如下字符串:

aaa_max_length[100]

如果你只想匹配$ foo ='max_length [100]'之类的字符串,你的正则表达式应为:

/^max_length\[([0-9]+)\]$/

答案 1 :(得分:2)

试试这个:

'/max_length\[(\d+)\]/'

\d+匹配一个或多个数字。

如果您的字符串必须仅包含此字符串,请改为使用此字符串:

'/^max_length\[(\d+)\]$/'

你可以像这样使用它:

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

在此处试试:http://ideone.com/a9Cux