hel*_*on3 4 php regex debugging
我一直很难用正则表达式.我一直在寻找帮助,但我找不到我想要的东西.
我有以下模式的文本块:
[php] ...这里有任何类型的代码示例[/ php]
我需要:
php
,ruby
,等).我制定了以下正则表达式:
#\[([a-z]+)\]([^\[/]*)\[/([a-z]+)\]#i
这很好地匹配了一切.但是,当代码示例包含方括号时,它会中断.如何修改它以使这些打开/关闭括号之间的任何字符匹配以供以后使用?
这是你想要的正则表达式.它匹配标签的位置,因此php
标签只会结束php
标签.
/\[(\w+)\](.*?)\[\/\1\]/s
Run Code Online (Sandbox Code Playgroud)
或者如果你想明确匹配你可以使用的标签......
$langs = array('php', 'python', ...);
$langs = implode('|', array_map('preg_quote', $langs));
preg_match_all('/\[(' . $langs . ')\](.*?)\[\/\1\]/s', $str, $matches);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1368 次 |
最近记录: |