gpt4 book ai didi

java - 使用正则表达式分割引号和逗号内的数据

转载 作者:行者123 更新时间:2023-11-30 07:06:33 24 4
gpt4 key购买 nike

我正在努力为以下数据准备正则表达式

我有这样的输入

"%,.2f","mm/DD/YYYY","1"

我想要这样的结果

%,.2f
mm/DD/YYYY
1

我尝试使用多个正则表达式,但没有任何效果。

有没有办法在Java中得到这个?

我正在内部框架中编写一个解析器,该解析器解析方法和参数,例如formatCurrency("%,.2f","mm/DD/YYYY","1")。我编写了一个正则表达式来分别获取函数名称和参数。

使用逗号分隔符有一些限制,因为函数参数也可以包含逗号。我认为即使用引号分割也会有同样的问题。我认为唯一的方法是使用正则表达式进行解析,但理解正则表达式很困难......

正则表达式来解析这个会更有帮助

最佳答案

您想要将字符串拆分在两个引号 " 之间,并使用逗号 , 作为分隔符。

此正则表达式捕获所需的字符串,以防您保留格式:

"(.*?)"

Demo at Regex101

这里有相同的 Java 代码,可能更适合您。不要忘记转义 \" 引号。否则它会被理解为字符串结束/开始:

List<String> results = new ArrayList<>();
Matcher m = Pattern.compile("\"(.*?)\"") .matcher(input);
while (m.find()) {
results.add(m.group(1));
}

关于java - 使用正则表达式分割引号和逗号内的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40024538/

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