2015-10-01 76 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