正则表达式以获取字符串中的特定组

时间:2017-01-11 20:02:25

标签: regex grouping regex-lookarounds regex-greedy

您好我想抓住正则表达式中的特定群组

我拥有的正则表达式是..

 \"(myid)\"\:\"((\\\"|[^\"])*)

示例字符串..

 "myid":"123456"

我只想抓123456,你能否建议

这是我尝试过的,我不知道如何提取第2组 https://regex101.com/r/tVDXkY/2

请你修好我的正则表达式

1 个答案:

答案 0 :(得分:0)

尝试以下操作来捕获任何键和值

^\"[^"]+.*(?:\\")?\"\s*:\s*(?:(\d+)|\"([^"]+.*(?:\\")?)\")$

https://regex101.com/r/KkSiT4/2示例

如果您只是寻找myid和数字,请使用以下内容:

"myid"\s*:\s*"(\d+)"

https://regex101.com/r/DTnMRA/1

如果myid的值可以包含任何字符而不仅仅是数字,请使用以下内容:

"myid"\s*:\s*"([^"]+.*(?:\\")?)"

https://regex101.com/r/icBRCK/1