簡體   English   中英

是否可以替換正則表達式序列中的特定字符?

[英]Is it possible to replace specific characters inside a regex sequence?

假設我有以下文字:

#Foo foo bar bar
foo bar foo
#bar Foo Foo
foo bar

假設我想在以#字符開頭的行中用-字符替換空格鍵。 因此輸出應為:

#Foo-foo-bar-bar
foo bar foo
#bar-Foo-Foo
foo bar

我知道我可以使用此正則表達式找到這些行:

/^#(.*)$/gm

但是我真的可以任何方式改變那些$1序列嗎?

PS:我在notepad ++中使用正則表達式將一些數據從excel轉換為代碼(這實際上非常方便)。

PS2我還不得不替換文本中的一些制表符,並且在對Avinash Raj的答案進行了一些修改之后,我發現我可以使用此正則表達式來做到這一點……除了它不能按預期工作外,但Avinash Raj很高興再次獲得此正則表達式的幫助。

/(?:^#|(?<!^)\G)[\S ]*\K\t/gm

DEMO

我認為notepad ++將支持\\G \\G在上一個匹配結束的位置匹配。

正則表達式:

(?:^#|(?<!^)\G)\S*\K[ \t]+

替換字符串:

-

DEMO

如果您想用-替換單個空格,請嘗試以下正則表達式,

(?:^#|(?<!^)\G)\S*\K[ \t]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM