数组如何在JAVA中使用正则表达式从字符串中提取特定文本
我有一个字符串='["Id","Lender","Type","Aging","Override"]'
我想从中提取字符串数组中的Id、贷方、类型等等。我试图使用正则表达式来提取它,但模式并没有删除“[”
有人能指引我吗。谢谢
更新:我试过的代码
Pattern pattern = Pattern.compile("\"(.+?)\"");
Matcher matcher = pattern.matcher(str);
List<String> list = new ArrayList<String>();
while (matcher.find()) {
// System.out.println(matcher.group(1));.
list.add(matcher.group(1));
(附言:Regex新成员)
# 1 楼答案
你的代码行得通,我试过了,得到了你想要的结果
输出:
显然,方括号在那里,因为我正在打印一个^{,它们不是单词的一部分
# 2 楼答案
但如果你的意见是正确的,那就说:
这个正则表达式将捕获所有值,同时允许字符串中的那些(有效)转义引号
\"
和文字反斜杠\\
正则表达式:
"((?:\\\\|\\"|[^"])+)"
或者作为java字符串:
"\"((?:\\\\\\\\|\\\\\"|[^\"])+)\""
regex demo
# 3 楼答案
你可以这样做。它首先删除
"[ ]"
,然后在","
上拆分希望这有帮助