Php 对preg_match表达式感到困惑

Php 对preg_match表达式感到困惑,php,Php,preg_match使用casses的表达式,如 preg_match_all("/\[(.*?)\]/", $content, $matches); 因此,我对创建模式感到困惑,这是如何开发的/[(.*?)]/因为我正在尝试创建一个短代码,并希望如果有人将短代码放在页面的任何位置,我可以从那里获得短代码,并清理并知道短代码的位置,如[shortcode app='slider'id='2']我需要短代码中的滑块和2,以便显示滑块并用短代码替换滑块 \[-将字符与“[”匹配,因为在正则表达式

preg_match使用casses的表达式,如

preg_match_all("/\[(.*?)\]/", $content, $matches); 

因此,我对创建模式感到困惑,这是如何开发的/[(.*?)]/因为我正在尝试创建一个短代码,并希望如果有人将短代码放在页面的任何位置,我可以从那里获得短代码,并清理并知道短代码的位置,如[shortcode app='slider'id='2']我需要短代码中的滑块和2,以便显示滑块并用短代码替换滑块

\[
-将字符与“[”匹配,因为在正则表达式中它有特殊的含义,所以“\”用于转义

-
将捕获内部零件,以便在我们更换时用作背面参考

*
-除换行符外,此处可以出现任何字符,并且可以是0次或更多次

-使上一部分成为可选部分(此处不需要此部分,因为使用
*
已经解决了它,这意味着0次或更多次。)

\]
-匹配一个字符“]”


从这里了解有关正则表达式的更多信息:

我不清楚您的问题。你需要在图案中修复什么吗?我不知道如何创建图案,我想你可以检查你问题中的编辑。(已经修复了您的模式中的问题。):)我不知道它是如何编辑的,但我只想知道这些模式是如何创建的。它是由某个SO社区编辑的。