Notepad ++:替换所有以*开头的单词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Notepad ++:替换所有以*开头的单词相关的知识,希望对你有一定的参考价值。

我想替换所有以*开头的单词

例如: -

*finish :- finish (* removed)
a*finish :- a*finish (not removed)

正则表达式在记事本++中有用吗?

我试过^*,但它表示无效的正则表达式。

类似的^[\*]不起作用。

对于normar角色来说,它是有效的。

答案

我想你可以用这个:

  1. 按Ctrl + H.
  2. 填写查找内容:(^|s)*(.+?)(s|$)
  3. 填写替换为:123

[ Regex Demo ]

说明:

(^|s)    => Group 1: start of line -^- or any white-space character -s-
*        => * character
(.+?)     => Group 2: one or many characters on lowest length until next match
(s|$)    => Group 3: any white-space character -s- or end of line -$-
另一答案

你可以使用^(s+)?*.+

Online demo

另一答案

替换此正则表达式的每个匹配:

(?:(?<=s)|(?<=^))*

用一个空白的字符串。

Click for Demo

说明:

  • (?<=s) - 积极的lookbehind,以确保当前位置前面有一个空格
  • | - 或者
  • (?<=^) - 积极的lookbehind以确保当前位置在线的开头之前
  • * - 如果满足上述任何条件,则匹配*

以上是关于Notepad ++:替换所有以*开头的单词的主要内容,如果未能解决你的问题,请参考以下文章

匹配除以单词开头之外的所有内容的模式[重复]

Java字符串替换所有正则表达式

PHP正则表达式替换以@结尾以2个空格结尾的单词[关闭]

python实现将字符串中以大写字母开头的单词前面添加“_”下划线

在 VSCode 中选择所有出现的选定单词

删除 VIM 中除第一列之外的所有内容