我有以下文字.....
('virtualMachines_20160810_VM02_name'),'2016710113655.vhd'))]"
},
"caching": "ReadWrite"
},
"dataDisks": []
},
"osProfile": {
"computerName": "[parameters('virtualMachines_20160810_VM02_name')]",
"adminUsername": "marc.kean",
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true
},
"secrets": [],
"adminPassword": "[parameters('virtualMachines_20160810_VM02_adminPassword')]"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaces_20160810_vm02308_name'))]"
}
]
}
},
我正在尝试使用RegEx来完全匹配此文本的一部分。我要匹配的部分是包含文本“osProfile”的整行(包括行的开头/结尾处的所有空格),直到并包括整行(包括任何空格)在“networkProfile”
之上这是我到目前为止所做的,但这匹配了两个捕获组,我只想要具体指定的文本。
\s*"osProfile[\w|\W]*},(\s*"networkProfile")
我也有:
((\s*"osProfile[\w|\W]*?},)([\w|\W
答案 0 :(得分:1)
不确定您使用正则表达式的用例是什么,但这是您想要的:
\s*"osProfile":\s*\{[^\}]+\}[^\}]+\},
https://regex101.com/r/qA1nQ1/2
\s*"osProfile":\s*\{
将为您提供第一行
[^\}]+\}
将为您提供一切直到第一个}
[^\}]+\},
将为您提供所有内容,直至第二个},然后是