我如何在某些部分用正则表达式检查一些字符串
我想加入这些条件。
if ($string == "form[new_search_param][1][searchParam]") {}
和
if ($string == "form[new_search_param][2][searchParam]") {}
某种
if ($string == "form[new_search_param][" . ^[0-9] . "[searchParam]") {}
我想知道我是否可以在字符串中使用正则表达式?
答案 0 :(得分:3)
如果我没有正确理解,你正在寻找这样的东西:
if( preg_match( '/form\[new_search_param\]\[[0-9]\]\[searchParam\]/', $string )) {}
方括号必须以正则表达式进行转义。
注意:这与字符串不匹配:
form[new_search_param][10][searchParam]
因为您正在寻找确切的一个数字。要接受一个或多个数字,请写:
if( preg_match( '/form\[new_search_param\]\[[0-9]+\]\[searchParam\]/', $string )) {}
其他建议:
if( preg_match( '/^form\[new_search_param\]\[\d+\]\[searchParam\]$/', $string )) {}
如果在搜索词组之前或之后有其他内容,则不匹配:
prefixedtext_form[new_search_param][10][searchParam]_suffixedtext
答案 1 :(得分:2)
您需要使用preg_match
:
搜索主题与模式中给出的正则表达式匹配。
http://php.net/manual/en/function.preg-match.php
if(preg_match("/form\[new_search_param\]\[[0-9]\]\[searchParam\]/", $string)) {
// Your code
}