Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Notepad++ 将括号内的内容替换为给定内容记事本++;_Notepad++ - Fatal编程技术网

Notepad++ 将括号内的内容替换为给定内容记事本++;

Notepad++ 将括号内的内容替换为给定内容记事本++;,notepad++,Notepad++,我想替换记事本中的以下内容++ {\abc {a}}, {\abc {c}}, {\def {a}} {\agh {a}}, {\abc {c}}, {\def {a}} {\def {a}} {\abc {a}}, {\abc {c}} 结果如下: {\def {a}} {\def {a}} {\def {a}} 我知道如何在常规模式下用\{.*\}替换括号内的所有内容,但我不知道如何替换为给定的内容。在这种情况下,通常为“\abc”或“\a*”。 我们有没有最佳的方法来过滤类似的字符,比

我想替换记事本中的以下内容++

{\abc {a}}, {\abc {c}}, {\def {a}}
{\agh {a}}, {\abc {c}}, {\def {a}}
{\def {a}} {\abc {a}}, {\abc {c}}
结果如下:

{\def {a}}
{\def {a}}
{\def {a}}
我知道如何在常规模式下用
\{.*\}
替换括号内的所有内容,但我不知道如何替换为给定的内容。在这种情况下,通常为“\abc”或“\a*”。 我们有没有最佳的方法来过滤类似的字符,比如{\abc{a},{\agh{a},{\abc{c}有相同的部分{\a},并且只保留与上面的差异? 请帮我解决这个问题。
谢谢!

如果您总是使用一级嵌套括号,您可以尝试
\{\\a[^{]*\{[^{]*\}

但只有两点:

  • 要用任何内容替换括号,请使用
    \{[^{]*\{[^{]*\}
    而不是
    \{.*\}
    ,否则整个表达式将匹配
  • \abc
    \a*
    不匹配,后者与
    \
    \a
    \aaaaaa

查看更多信息

谢谢,但是在{\abc}、{\aaa}、{\aac}、{\def}的情况下,这是只保留{\def}的最佳方式我编辑了,但你应该试着理解语法,以便自己动手。你想一直保留最后一个括号吗?还是保留有
\def
的括号?所有东西都在一行中?请添加一些预期结果的测试用例。我刚刚编辑了我的问题。谢谢你,所以你想保留
{\def{a}
只删除其他所有内容?如果一行不包含
{\def{a}
内容,例如:
{\abc{a},{\abc{c}
?您想删除包含的整行换行符还是保留换行符?它是字面上的
\def
a
还是可以是
\dab
或\dxyz?