如何匹配花括号中的单词?
How to match words in curly braces?
我想用 sublime 替换一些文本。我有一些文字
{{abcd dog cat}}
我想让他们变成
{abcd dog cat}
我无法直接将{{
替换为{
,因为我的文本中需要一些{{
。
我知道使用正则表达式可以达到我的目的。但是不知道怎么用
现在我用{}
来代替
\{{(\w+)}\}
,但是没用。
使用 \w
不会匹配 space。您可以使用例如 .+?
匹配 {{
和 }}
之间的内容,并将捕获组放在第一个和第二个大括号之间。
在替换中使用</code></p>
<pre><code>{({.+?})}
如果您只想匹配单词之间带有单个 space 的单词字符,您可以使用 match 1+ word chars 并重复 0 次或多次 1+ word chars 前面有 space:
{({\w+(?: \w+)*})}
我想用 sublime 替换一些文本。我有一些文字
{{abcd dog cat}}
我想让他们变成
{abcd dog cat}
我无法直接将{{
替换为{
,因为我的文本中需要一些{{
。
我知道使用正则表达式可以达到我的目的。但是不知道怎么用
现在我用{}
来代替
\{{(\w+)}\}
,但是没用。
使用 \w
不会匹配 space。您可以使用例如 .+?
匹配 {{
和 }}
之间的内容,并将捕获组放在第一个和第二个大括号之间。
在替换中使用</code></p>
<pre><code>{({.+?})}
如果您只想匹配单词之间带有单个 space 的单词字符,您可以使用 match 1+ word chars 并重复 0 次或多次 1+ word chars 前面有 space:
{({\w+(?: \w+)*})}