需要一个正则表达式来查找包含在双引号中的整数作为 JSON 文件中的 属性 值
Need a regex expression to find an integer contained in double quotes as a property value in JSON file
我将一个 csv 文件导入 JSON 以在 Microsoft GRAPH 的 API 中使用它。我真的很想使用 VScode 中的 find/replace 功能来替换整数周围的双引号,所以这里是 JSON
的片段
{
"displayName": "FirewallRules/12/Action",
"description": null,
"@odata.type": "#microsoft.graph.omaSettingInteger",
"Value": "1",
"omaUri": "./Device/Vendor/MSFT/Firewall/MdmStore/FirewallRules/{firewallrulename}/Action/Type"
},
我什至尝试使用我对正则表达式的一点了解来完成它并使用它取得了一些成功
^(.*)"\d{1,2}(.*)"$
我想忽略“值”,^(.?)(“值”:),只定位“1”
完全拼凑在一起,但我认为它有效,但我无法补偿它前面的“价值”:。如何使用正则表达式定位包含整数的值 属性 的字符串值?请帮忙
您可以使用
^(\s*"[^"]*"\s*:\s*)"(\d+)"
替换为</code>。</p>
<p>见<a href="https://regex101.com/r/3lPGlr/1" rel="nofollow noreferrer">regex demo</a>。 <em>详情</em>:</p>
<ul>
<li><code>^
- 行首
(\s*"[^"]*"\s*:\s*)
- 第 1 组 (</code>):零个或多个空格,<code>"
,零个或多个双引号以外的字符,"
,一个:
包含零个或多个空格
"
- 一个 "
字符
(\d+)
- 第 2 组 (</code>):一位或多位数字</li>
<li><code>"
- 一个 "
字符
如果你想定位“2”,你可以使用这个正则表达式
^("Value")(.*)("[0-9]+")(.*)$
你可以在Regex101
上试试
我将一个 csv 文件导入 JSON 以在 Microsoft GRAPH 的 API 中使用它。我真的很想使用 VScode 中的 find/replace 功能来替换整数周围的双引号,所以这里是 JSON
的片段 {
"displayName": "FirewallRules/12/Action",
"description": null,
"@odata.type": "#microsoft.graph.omaSettingInteger",
"Value": "1",
"omaUri": "./Device/Vendor/MSFT/Firewall/MdmStore/FirewallRules/{firewallrulename}/Action/Type"
},
我什至尝试使用我对正则表达式的一点了解来完成它并使用它取得了一些成功
^(.*)"\d{1,2}(.*)"$
我想忽略“值”,^(.?)(“值”:),只定位“1” 完全拼凑在一起,但我认为它有效,但我无法补偿它前面的“价值”:。如何使用正则表达式定位包含整数的值 属性 的字符串值?请帮忙
您可以使用
^(\s*"[^"]*"\s*:\s*)"(\d+)"
替换为</code>。</p>
<p>见<a href="https://regex101.com/r/3lPGlr/1" rel="nofollow noreferrer">regex demo</a>。 <em>详情</em>:</p>
<ul>
<li><code>^
- 行首
(\s*"[^"]*"\s*:\s*)
- 第 1 组 (</code>):零个或多个空格,<code>"
,零个或多个双引号以外的字符,"
,一个:
包含零个或多个空格"
- 一个 "
字符 (\d+)
- 第 2 组 (</code>):一位或多位数字</li>
<li><code>"
- 一个 "
字符 如果你想定位“2”,你可以使用这个正则表达式
^("Value")(.*)("[0-9]+")(.*)$
你可以在Regex101
上试试