例如:
[TEXT1,TEXT2,TEXT3]
我的表达:[\[].*,.*[\]]
使用逗号查找字符串(在括号中),但我只想显式匹配方括号中的逗号。
我需要用空格替换逗号 - 但只能在方括号中。
我已经尝试[\[],[\]]
,但这不起作用 -
\[(.*?)\]
也会在其间找到文字 - 但我不想要整个字符串。
有人可以建议我只需要在括号中找到逗号吗?
答案 0 :(得分:3)
找到:
(?:\[|(?!^)\G)[^,\]]*\K,
替换为:
空间
击穿:
(?:\[|(?!^)\G)
匹配开头[
或end of last match (?!^)\G
。[^,\]]*
消耗所有字符,直到下一个逗号。\K
告诉正则表达式引擎discard what it has matched so far。,
最后匹配逗号。答案 1 :(得分:1)
我知道这是一个古老的问题,但我一直在寻找解决同一问题的方法,并为此找到了解决方案:,(?=[^\[]*\])
我希望它可以帮助那些偶然发现这篇文章的人! ?
注意:使用Text Wrangler代替Notepad ++
答案 2 :(得分:0)
方括号通常需要在正则表达式中进行转义,例如
\[.*(,).*\]
可以工作 - 正则表达式组#1(其他工具中的捕获/可替换部分,我没有notepad ++)将是您想要的括号中的单个逗号。
答案 3 :(得分:0)