php正则表达式检测索引级别

时间:2014-05-18 10:47:06

标签: php regex

我查看了PHP中的正则表达式,但我真的不明白它们是如何工作的。

我有各种各样的字符串,如“1-title”,“1-1-secondTitle”,“1-2-otherTitle”,这最多可达三级(“1-2-1-text”),依此类推我有这个格式化的每个字符串,我想在字符串开始之前检查是否有一个,两个或三个数字,然后输出“0”,“1”或“2”。

所以要更清楚

“1-index”应该返回“0”

“3-1-text”应返回“1”

“5-2-1-otherTitle”应该返回“2”

是否可以检查字符串上第一个字母前的字符数?

1 个答案:

答案 0 :(得分:0)

或者,如果您不想使用正则表达式,那么您可以通过字符串迭代并覆盖索引。考虑这个例子:

$string = '5-2-1-otherTitle';
$string = str_ireplace('-', '', $string);
$index = null;
for($x = 0; $x < strlen($string); $x++) {
    if(is_numeric($string[$x])) {
        $index = $x;
    }
}

echo $index; // outputs 2

// works
// echo preg_match_all("/[0-9]/", $string) - 1;