PHP模式匹配,以识别特定字符串中的数字
我在文本中添加“合并”字段,即: ::子菜单::33:: 我希望能够找到此模式的所有实例: ::子菜单::(任意数字):: 然后我将继续提取数字并替换它(我不需要这方面的帮助,谢谢) 我以前都使用过preg_match_,但是当我想使用特定字符串作为匹配的一部分时,我不确定如何使用它?非常感谢任何帮助 我希望能够找到此模式的所有匹配项:PHP模式匹配,以识别特定字符串中的数字,php,regex,Php,Regex,我在文本中添加“合并”字段,即: ::子菜单::33:: 我希望能够找到此模式的所有实例: ::子菜单::(任意数字):: 然后我将继续提取数字并替换它(我不需要这方面的帮助,谢谢) 我以前都使用过preg_match_,但是当我想使用特定字符串作为匹配的一部分时,我不确定如何使用它?非常感谢任何帮助 我希望能够找到此模式的所有匹配项:::子菜单::(任意编号): 您可以使用此正则表达式: /::sub_menu::\(\d+\)::/ 要在preg\u match\u all中使用它,请使用
::子菜单::(任意编号):
您可以使用此正则表达式:
/::sub_menu::\(\d+\)::/
要在preg\u match\u all
中使用它,请使用:
if ( preg_match_all('/::sub_menu::\((\d+)\)::/', $input, $match) )
print_r($match[0]);
您可以使用:
preg_match("/::sub_menu::\((\d+)\)::/", $input_line, $output_array);
::sub_menu::(33)::输入的$output_数组将包含:
Array
(
[0] => ::sub_menu::(33)::
[1] => 33
)
你可以试试这个:
$input='::子菜单::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);
}
我想他问的是如何使用preg_match_,而不是如何构造正则表达式。谢谢!这起作用了:preg_match_all(“/::子菜单::(\d+):/”,$str_content,$matches);简短而甜蜜,+1:)谢谢你的评论,我实际上并不是想()成为模式的一部分,所以第一个答案确实有效。