gpt4 book ai didi

java - 字符串分隔的正则表达式

转载 作者:行者123 更新时间:2023-11-29 09:46:41 24 4
gpt4 key购买 nike

我正在尝试构建一个 bbcode 解析器,但我在弄清楚如何避免匹配过于广泛时遇到了很多问题。例如,我想实现一个 [list] 到这样的转换:

\[list\](.*)\[/list\]

将被替换为:

<ul>$1</ul>

这工作正常,除非我有两个列表,其中正则表达式匹配第一个列表的开始标记和第二个列表的结束标记。所以这个

[list]list1[/list] [list]list2[/list]

变成这样:

<ul>list1[/list] [list]list2</ul>

这会产生非常难看的输出。知道如何解决这个问题吗?

最佳答案

您使用的方法可能最终不是特别好的方法,但要解决该特定问题,只需更改为非贪婪匹配即可:

\[list\](.*?)\[\/list\]

请注意,这种方式对于嵌套列表而不是背靠背列表会有问题。

关于java - 字符串分隔的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com