Search for entire word containing specific keyword in Notepad++ using regular expressions
我使用记事本++
我需要搜索和替换包含特定关键字的整个单词。
例如:someting HELP.blablabla.blabla someting
我想在整个文本中搜索包含关键字"HELP"的单词,直到第一个空格或第一个逗号为止。
在这种情况下:HELP.blablabla.blabla
非常感谢
转到搜索面板,选中底部的正则表达式复选框,然后尝试:(HELP)([^ ,]*)
注意:^后面有一个空格字符
此正则表达式的意思是:搜索整个单词HELP (HELP),后跟任何不是空格或逗号[^ ,]的内容,括号内的^
编辑:
如果需要稍后使用特定组替换,则只能使用HELP[^ ,]*括号来创建捕获组。 正如@alphabravo指出的
-
为什么要两个捕获组?
-
程序员习惯。 如果需要替换,我总是使用组:)不过,感谢您的注释,我将编辑添加此信息
-
@NikosM。 嗨,我经常使用其他一些网站来测试regexe,例如:regexr.com和regex101.com,它们都不错。 但是没有一个(也不是你的)对Notepad ++有特定的语法,它有一些特殊的规则,这就是为什么我没有提供与测试演示链接的原因:)。 不过谢谢
-
@JorgeCampos,当然,我想亲自检查一下正则表达式,并决定在此发布,以防万一。 该工具是开源的,可以根据需要添加其他规则。 再次感谢
您说搜索并替换整个单词,但是如果这么简单,那么我想知道为什么常规搜索和替换还不够。 因此,我正在阅读两行之间的内容,并假设您要匹配整行文本。
我想我已经使用了npp足够正确的语法。 我不记得有什么古怪可笑的地方。 逗号/空格是可选的吗?
我有点想这可能足够好:
-
请注意,您可以在此处在线测试正则表达式(此演示工具的PS作者)