首页 > 解决方案 > 正则表达式可选分组匹配

问题描述

我正在尝试在以下字符串中获取所有带引号的字符串:

a.a("Camera2", "onPictureTaken # ENTER..");
a.a("Camera2", "Save path :" + this.a.c + " is SAVED");
Camera c = Camera.open();

正则表达式:

a.*\"((?:\"|.)*?)\"

我的问题是它返回“已保存”作为匹配 2 第 1 组。

理想情况下,匹配 2 应该有两个匹配项。

第 1 组。“保存路径:”
第 2 组。“已保存”

https://regex101.com/r/iEgndD/2/

如何修复此正则表达式以返回匹配 2 的两个匹配项。请帮助。

标签: javaregexregex-group

解决方案


推荐阅读