sup*_*erm 1 php regex preg-match-all
我提交了一些文本,它将在双括号中包含单词,但是在单括号中只能包含一些单词。但是我只想要放在方括号中的那些。
例:
[[测试]] [测试1] [[测试2]] [测试5] [[测试3]]
与其他字词等在同一字符串中...
因此,例如:
[[test]]快速[test1]棕色[[test2]]狐狸[[test3]]在懒惰的[[test4]]狗上跳了[mytest]
现在我有一个preg_match_all与:
(preg_match_all('/\\[.*?\\]\\]/is',$str,$match))
Run Code Online (Sandbox Code Playgroud)
但是,它也拉了单括号的...我正则表达式很烂。
有人对我如何只拉双括号有任何意见吗?
谢谢!
改用它。
\[{2}.*?\]{2}
Run Code Online (Sandbox Code Playgroud)
演示:https : //regex101.com/r/bW0mM6/1
在{2}需要2次出现。您只用表达式检查一个括号。
PHP演示:http : //sandbox.onlinephpfunctions.com/code/2f16f7e102d822e31dc128a384f8090181c7461d
PHP用法:
$str = '[[test]] [test1] [[test2]] [test5] [[test3]]';
preg_match_all('/\[{2}(.*?)\]{2}/is',$str,$match);
print_r($match[1]);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => test
[1] => test2
[2] => test3
)
Run Code Online (Sandbox Code Playgroud)
还要注意,我在PHP演示中捕获了双括号值,不确定是否是您想要的。
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |