有人会为Notepad ++的正则表达式提供帮助,以将Word
替换为#Word
(仅在第一次出现#
之后)吗?
#Celebrity #Glad #Known #Lord Byron #British #Poet
应成为
#Celebrity #Glad #Known #Lord #Byron #British #Poet
^
答案 0 :(得分:1)
仅在第一次出现#后用#Word替换Word,您可以使用alternation:
查找内容
(?>^[^#]*#\w+\h*|#\w+\h*|\G)\K(\w+\h*)
替换为
#\1
说明
(?>
原子组
^[^#]*#\w+\h*
使用否定的字符类从字符串的开头开始匹配,而不是#
0次以上,然后匹配#
。然后匹配1+次单词字符,然后匹配0+次水平空白字符。|
或#\w+\h*
匹配#
,单词字符1次以上,然后水平空白字符0次以上|
或\G
在上一场比赛结束时声明位置)
关闭原子团\K
忘记先前的匹配内容(\w+\h*)
捕获一组1+个单词字符,然后捕获0+次水平空白字符答案 1 :(得分:0)
您可以使用以下正则表达式进行匹配和替换:
\s([^#]\w+)
首先匹配空白,然后创建一个不以'#'开头但包含一个或多个Word字符的组。
然后替换为:
' #$1'
这会将'#
'添加到不是以此开头的单词中。