我一直对正则表达式感到困惑。虽然我寻求了帮助,但我似乎找不到我需要的。
我有一些文本块,遵循以下模式:
[php] ... 这里可以是任何类型的代码示例 [/php]
我需要:
- 检查方括号,其中可以包含20-30个编程语言名称(
php
,ruby
等)。 - 需要获取在打开和关闭括号之间的所有代码。
我已经制定了以下正则表达式:
#\[([a-z]+)\]([^\[/]*)\[/([a-z]+)\]#i
这基本上匹配了所有内容。但是,当代码示例包含方括号时,它会出错。如何修改它以使打开/关闭括号之间的任何字符都能被匹配并用于后续使用?
[php] print "[/php]"; [/php]
这样的东西?如果是这样,正则表达式帮助不大。要检测这样的内容所需的正则表达式将非常复杂,最好使用整个解析器。 - cHao