我使用正则表达式,但我不能做我的情况。我已经创建了像DLE一样的引擎。 我有一个像[A],[/ A],[B] [/ B]等我用正则表达式的标签像正则表达式:嵌套标签
'\\[a\\](.*?)\\[/a\\]'si
或类似
'\\[a\\](.*?)(\\[/a\\])+'si
,它不工作我想如何。 我需要接收:
from '[a]delete[/a]' : ''
from '[a][b]delete[/b][/a]' : '',
from '[a][a]delete[/a][/a]' : '', with '\\[a\\](.*?)\\[/a\\]'si it returns '[/a]'
from '[b][a]delete[/a][b]' : '[b][/b]'
from '[b][a]delete[/a][b] [a]delete[/a]' : '[b][/b]'
from '[a]
delete
[a]
[b]delete[/b]
[/a]
delete
[/a]
[b]
[a]delete[/a]
nodelete
[/b]'
:
'[b]
nodelete
[/b]'
帮助我创建正确的正则表达式!
该语法看起来接近于HTML。并且请注意,[HTML不能用正则表达式解析](http://stackoverflow.com/a/1732454/1529630)。也许这也适用于你的语法。 – Oriol 2014-11-21 15:42:00
您的输入是什么?或者您的信息是在您的信息中输入的?如果是这样,你的预期产出是多少? 正如@Oriol指出的,你不能用RegEx解析HTML(和类似的结构),你可能需要一个递归函数,它可以使用RegEx – 2014-11-21 15:43:38
我可以为我的任务编写自己的函数。但我想知道:我可以在这个任务中使用正则表达式吗? – tesst 2014-11-21 15:44:01