Regex 重写正则表达式以支持这两种方案
我使用以下正则表达式获取前缀为Regex 重写正则表达式以支持这两种方案,regex,Regex,我使用以下正则表达式获取前缀为secure的所有值: "secure[^:]+:\s*"[^"]+" 它适用于以下字符串: Parameters: {"client_id":"6dd930eb-e4dc-48d9-a18b-ace0c7406dc8","secure_client_secret":"fedfc0a7-af1e-413c-ab51-1955113b2123"} "Parameters: {\"client_id\":\"6dd930eb-e4dc-48d9-a18b-ace0c
secure
的所有值:
"secure[^:]+:\s*"[^"]+"
它适用于以下字符串:
Parameters: {"client_id":"6dd930eb-e4dc-48d9-a18b-ace0c7406dc8","secure_client_secret":"fedfc0a7-af1e-413c-ab51-1955113b2123"}
"Parameters: {\"client_id\":\"6dd930eb-e4dc-48d9-a18b-ace0c7406dc8\",\"secure_client_secret\":\"fedfc0a7-af1e-413c-ab51-1955113b2123\"}"
但它不适用于以下字符串:
Parameters: {"client_id":"6dd930eb-e4dc-48d9-a18b-ace0c7406dc8","secure_client_secret":"fedfc0a7-af1e-413c-ab51-1955113b2123"}
"Parameters: {\"client_id\":\"6dd930eb-e4dc-48d9-a18b-ace0c7406dc8\",\"secure_client_secret\":\"fedfc0a7-af1e-413c-ab51-1955113b2123\"}"
我如何更新它以适用于这两种情况?
以下是rubular的链接:您可以使用捕获使用和返回引用来匹配
“
和\”
包装的值:
(\\"|")secure[^:]+:\s*\1.*?\1
但是请注意,如果您的平台/工具允许,那么请使用适当的JSON解析器来解析类似这样的JSON字符串。只需添加反斜杠即可。