2017-01-11 6 views
0

Привет Я хотел, чтобы захватить определенную группу в регулярном выражениирегулярное выражение, чтобы захватить определенную группу в строке

Regex, что у меня есть ..

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

образец строки ..

"myid":"123456" 

Я просто хотел захватить 123456, не могли бы вы предложить

вот что я пробовал, я не уверен, как извлечь Grou р 2 https://regex101.com/r/tVDXkY/2

Можете ли вы исправить мой регулярное выражение

+1

Try [' [^ "\\] * (?: \\. [^" \\] *) * '] (https://regex101.com/r/tVDXkY/3) или даже [' (? <= "myid": ") [^ "] +'] (https://regex101.com/r/tVDXkY/4). –

ответ

0

Попробуйте выполнить следующие действия, чтобы захватить любую клавишу и значения

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

https://regex101.com/r/KkSiT4/2 примеры

Если вы ищете только для MyId и а необходимо использовать следующее:

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

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

Если значение MyId может содержать любые символы, а не только цифры, используйте следующее: (? <= "MyID": ")

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

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

+0

Я хотел добавить номер 123456 с регулярным выражением из этой строки «myid»: «123456» – DevOpsNewB

+0

Регулярное выражение в моем ответе извлекает 123456 из строки, которую вы мне только что дали, см. Первую строку https://regex101.com/ r/KkSiT4/3 для справки – Maslo

+0

из списка приведенных здесь примеров https://regex101.com/r/KkSiT4/3 я только хотел совместить строку 'myid' и просто извлечь 123456 из нее – DevOpsNewB