2015-10-01 75 views
1

例如:如何在記事本++中的方括號中提取逗號?

[TEXT1,TEXT2,TEXT3] 

我的表情:[\[].*,.*[\]]

查找用逗號的字符串(括號之間),但我只想明確匹配存在於方括號中的逗號。

我需要用空格替換逗號 - 但只能在方括號中。

我試過[\[],[\]]但不起作用 -

\[(.*?)\]會發現之間以及文本 - 但我不希望整個字符串。

任何人都可以建議我需要做的只是在括號中找到逗號嗎?

+0

對不起,我應該更清楚。 [Text1,Text2,Text3]也可以與其他逗號一起存在 - 但我只想在方括號中使用逗號。 – learningalways

回答

0

方括號一般需要在正則表達式來進行轉義,所以像

\[.*(,).*\] 

可以工作 - 在正則表達式組#1(這是其他工具捕獲/更換部件,我沒有記事本+ +)將是你想要的括號內的單個逗號。

+0

他逃脫了他們,但沒有正確使用降價,並且剝去了反斜槓。我解決了這個問題。 –

+0

真的很抱歉。感謝您的更正。 – learningalways

+0

以上給出的結果與我之前在記事本++中得到的結果相同,我只能得到括號中的文本,而不是單獨的逗號。 – learningalways

0

我用這個:

(?<=[\[,])[^\],]*(,) 

Regex101

+0

這有幫助,但我仍然有一個問題。對不起,我應該更清楚。 [Text1,Text2,Text3]也可以與其他逗號一起存在 - 但我只想在方括號中使用逗號。所以如果我有一行例如:Hello,world,[Text1,Text2,Text3],你好我只想在方括號中返回逗號。 – learningalways

3

查找內容:

(?:\[|(?!^)\G)[^,\]]*\K, 

替換爲:
空間


擊穿:

+0

**注意:**它不適用於嵌套括號。 – Mariano

+0

布拉沃。不幸的是,我仍然發現'\ G'和'\ K'混淆。 – d0nut