preg_match 多行无法正常工作
preg_match with multiline doesn't work correctly
我有以下代码:
$data = "numbers{One
Two
Three}";
preg_match("~(?<=numbers{)(.*?)(?=})~", $data, $result);
echo $result[0];
preg_match 不工作我不知道为什么
如果数据只有一行那么它有效
所有正则表达式引擎都支持许多搜索修饰符,例如不区分大小写的搜索或 multiLineSourse,请尝试“m”修饰符
preg_match("~(?<=numbers{)(.*?)(?=})~ms", $data, $result);
.
不匹配换行符使用 s
修饰符:
~(?<=numbers{)(.*?)(?=})~s
或者您可以只匹配 NOT }
:
~(?<=numbers{)([^}]*)(?=})~
不知道你们所有的要求,你们可以简化它:
preg_match("~numbers{([^}]*)}~", $data, $result);
echo $result[1];
我有以下代码:
$data = "numbers{One
Two
Three}";
preg_match("~(?<=numbers{)(.*?)(?=})~", $data, $result);
echo $result[0];
preg_match 不工作我不知道为什么 如果数据只有一行那么它有效
所有正则表达式引擎都支持许多搜索修饰符,例如不区分大小写的搜索或 multiLineSourse,请尝试“m”修饰符
preg_match("~(?<=numbers{)(.*?)(?=})~ms", $data, $result);
.
不匹配换行符使用 s
修饰符:
~(?<=numbers{)(.*?)(?=})~s
或者您可以只匹配 NOT }
:
~(?<=numbers{)([^}]*)(?=})~
不知道你们所有的要求,你们可以简化它:
preg_match("~numbers{([^}]*)}~", $data, $result);
echo $result[1];