繁体   English   中英

PHP preg_match帮助

[英]Php preg_match help

我正在尝试找到可以匹配的php preg_match

test1 test2 [...]但不是test1 test2 [...]

并以$ match返回test2(...)作为输出。

我试过了

preg_match('/^[a-zA-Z0-9][\[](.*)[\]]$/i',"test1 test2[...]", $matches);

但是,这两种情况都匹配,并返回完整的句子。

任何帮助表示赞赏。

preg_match('/([a-zA-Z0-9]+[\[][^\]]+[\]])$/i',"test1 test2[...]", $matches);

请注意[a-zA-Z0-9]后的+表示一个或多个字母数字字符

整个表达式周围的()将允许您捕获整个表达式。

因为你的内容是围绕[]我已经改变.*[^\\]]因为正则表达式都在的情况下, 贪婪 test2[.....] test3[sadsdasdasdad]将捕捉到年底,因为有一个]

另外请注意,由于您使用的是$它总是会匹配所有东西,所以我不确定这是否是您打算做的事情。

您可以看到作为参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM