忽略用于匹配的内部字符的子字符串的正则表达式提取
Regex extraction of substrings ignoring internal character used to match
我正在匹配字符 "" 与 "(.*?)"
之间的键值对字符串 "(.*?)"
我怎样才能忽略值部分中任何额外的 " 字符。
示例字符串 {"1"=>"email@example.com"}
您可以使用
String pat = "(?<=\{|=>)\"(.*?)\"(?=\}|=>)";
详情
(?<=\{|=>)
- 正后视匹配紧接在 {
或 =>
之前的位置
"
- 双引号
(.*?)
- 第 1 组:除换行字符外的任何零个或多个字符,尽可能少
"
- 双引号
(?=\}|=>)
- 匹配紧跟 }
或 =>
. 的位置的正向前瞻
我正在匹配字符 "" 与 "(.*?)"
之间的键值对字符串 "(.*?)"
我怎样才能忽略值部分中任何额外的 " 字符。
示例字符串 {"1"=>"email@example.com"}
您可以使用
String pat = "(?<=\{|=>)\"(.*?)\"(?=\}|=>)";
详情
(?<=\{|=>)
- 正后视匹配紧接在{
或=>
之前的位置
"
- 双引号(.*?)
- 第 1 组:除换行字符外的任何零个或多个字符,尽可能少"
- 双引号(?=\}|=>)
- 匹配紧跟}
或=>
. 的位置的正向前瞻