以下表达式的正则表达式
Regex formula for following expression
我有一个用逗号分隔的数组,我希望每个单词都用双引号替换(对于每个单词),如下所示:
a1.large,a2.large,a3.large,b4.medium
应该变成:
"a1.large","a2.large","a3.large","b4.medium"
谁能告诉我如何在 notepad++ 中使用正则表达式查找和替换。
在记事本++中,执行以下操作:
- CTRL + H
- 设置搜索mode:Regular表达式
- 找到
(\w+(?:\s*\w+)*\s*(?=,|$))
- 将匹配项替换为
""
解释:
\w+
- 匹配 1 个或多个单词字符,尽可能多
(?:\s*\w+)*
- 匹配 0 次或多次出现的 0+ 空格后跟 1+ 单词字符。这个 submattern 将允许我们匹配多个由逗号之间的空格分隔的单词。
\s*
- 匹配 0 个或多个空格
(?=,|$)
- 如果后跟 ,
或行尾 则与当前位置匹配的正前瞻
()
- 到目前为止匹配的所有内容都将在第 1 组中捕获
演示
匹配单词并用引号匹配替换:
Find: \w+
Replace: "[=10=]"
如果逗号之间可能有多个单词,例如 "car, car keys, wallet"
更改查找正则表达式:
Find: \w+( +\w+)*
Replace: "[=11=]"
[=13=]
是第 0 组,也就是整场比赛。
- Ctrl+H
- 查找内容:
[^,\r\n]+
- 替换为:
"[=13=]"
- 检查 环绕
- 检查 正则表达式
- 全部替换
解释:
[^,\r\n]+ # 1 or more any character that is not a comma or linebreak
替换:
"[=11=]" # the whole match surrounded with quotes
屏幕截图(之前):
截图(之后):
查找:[\w.]*
全部替换:"[=11=]"
我有一个用逗号分隔的数组,我希望每个单词都用双引号替换(对于每个单词),如下所示:
a1.large,a2.large,a3.large,b4.medium
应该变成:
"a1.large","a2.large","a3.large","b4.medium"
谁能告诉我如何在 notepad++ 中使用正则表达式查找和替换。
在记事本++中,执行以下操作:
- CTRL + H
- 设置搜索mode:Regular表达式
- 找到
(\w+(?:\s*\w+)*\s*(?=,|$))
- 将匹配项替换为
""
解释:
\w+
- 匹配 1 个或多个单词字符,尽可能多(?:\s*\w+)*
- 匹配 0 次或多次出现的 0+ 空格后跟 1+ 单词字符。这个 submattern 将允许我们匹配多个由逗号之间的空格分隔的单词。\s*
- 匹配 0 个或多个空格(?=,|$)
- 如果后跟,
或行尾 则与当前位置匹配的正前瞻
()
- 到目前为止匹配的所有内容都将在第 1 组中捕获
演示
匹配单词并用引号匹配替换:
Find: \w+
Replace: "[=10=]"
如果逗号之间可能有多个单词,例如 "car, car keys, wallet"
更改查找正则表达式:
Find: \w+( +\w+)*
Replace: "[=11=]"
[=13=]
是第 0 组,也就是整场比赛。
- Ctrl+H
- 查找内容:
[^,\r\n]+
- 替换为:
"[=13=]"
- 检查 环绕
- 检查 正则表达式
- 全部替换
解释:
[^,\r\n]+ # 1 or more any character that is not a comma or linebreak
替换:
"[=11=]" # the whole match surrounded with quotes
屏幕截图(之前):
截图(之后):
查找:[\w.]*
全部替换:"[=11=]"