>有人愿意帮助记事本++的正则表达式将Word
替换为#Word
(仅在第一次出现#
之后(?
#Celebrity #Glad #Known #Lord Byron #British #Poet
应该成为
#Celebrity #Glad #Known #Lord #Byron #British #Poet
^
若要仅在第一次出现 # 后将 Word 替换为 #Word,可以使用交替:
查找内容
(?>^[^#]*#w+h*|#w+h*|G)K(w+h*)
替换为
#1
正则表达式演示
解释
(?>
原子组^[^#]*#w+h*
从字符串的开头匹配,而不是#
0+ 次,使用否定字符类,后跟匹配#
。然后匹配 1+ 次单词字符,后跟 0+ 次水平空格字符。|
或#w+h*
匹配#
,单词字符 1+ 次,后跟水平空格字符 0+ 次|
或G
在上一场比赛结束时断言位置
)
紧密原子组K
忘记之前匹配的内容(w+h*)
在一组中捕获 1+ 个单词字符,后跟 0+ 乘以水平空格字符
您可以使用以下正则表达式来匹配和替换:
s([^#]w+)
它首先匹配空格,然后创建一个组,该组不以"#"开头,但包含一个或多个 Word 字符。
然后替换为:
' #$1'
这将在单词中添加"#
",而不是以它开头。