1

我想从一个字符串 preg_match [200932] 这个。
我尝试了一些模式,但没有帮助,知道吗?

4

3 回答 3

4

您的问题非常含糊,但我认为您可能忘记转义方括号。它们表示 RegEx 中的字符类。

preg_match('/\[200932\]/', $str, $matches);

如果您要使用/[200932]/它,则表示“2 或 0 或 9 或 3”。

编辑:

要捕获方括号之间的数字:

/\[(\d+)\]/

那是

\[    A square bracket
(     Start capturing group
 \d+  A digit, 1 or more times
)     End capturing group
\]     A closing square bracket
于 2009-10-05T10:38:45.257 回答
1

不确定我是否理解您的问题,但无论如何都是这样:

[\[\]0-9]{8}
于 2009-10-05T10:40:28.363 回答
1

你试过了:#[([.])]#

试试这个:\[([0-9]*)\]

(没有 * 字符串只匹配一个数字,而您使用 . 匹配所有字符,甚至 a、b、c、- 或 /)

于 2009-10-05T11:34:08.360 回答