我正在"合并"我的文字中的字段,即:
:: sub_menu :: 33 ::
我希望能够找到所有这种模式:
:: sub_menu ::(任何数字)::
然后我会继续提取数字并替换它(我不需要帮助,谢谢)。
我之前使用过preg_match_all,但是当我想在匹配中使用特定字符串时,我不确定如何使用它?任何有用的帮助。
答案 0 :(得分:1)
我希望能够找到所有这种模式:
::sub_menu::(any number)::
您可以使用此正则表达式:
/::sub_menu::\(\d+\)::/
要在preg_match_all
中使用:
if ( preg_match_all('/::sub_menu::\((\d+)\)::/', $input, $match) )
print_r($match[0]);
答案 1 :(得分:0)
您可以使用:
preg_match("/::sub_menu::\((\d+)\)::/", $input_line, $output_array);
输出 :: sub_menu ::(33):: 的$ output_array将包含:
Array
(
[0] => ::sub_menu::(33)::
[1] => 33
)
答案 2 :(得分:0)
你可以尝试这个:
$ input =':: sub_menu :: 33 ::';
/* if you have one or more numbers, use (+) quantifiers*/
if ( preg_match('/::sub_menu::[0-9]+::/', $input, $match) )
/* if you want to put min/max quantifiers min by 2 and max by 10*/
if ( preg_match('/::sub_menu::[0-9]{2,10}::/', $input, $match) ){
print_r($match);
}