正则表达式 - 如何获得排除所有组的匹配字符串?

时间:2017-07-23 08:33:47

标签: regex string

我正在尝试使用正则表达式过滤掉括在括号中的字符串的所有部分。

例如,输入: data1 data2[comment] data3[comment] data4 data5[comment][comment] 我想得到: data1 data2 data3 data4 data5

是否可以使用正则表达式实现它?

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式来匹配括号内的每个内容(包括方括号):

(\[[^\]]*\])

DEMO:https://regex101.com/r/7HLQkK/1

Java示例:

String string = "data1 data2[comment] data3[comment] data4 data5[comment][comment]";
string = string.replaceAll("(\\[[^\\]]*\\])", "");

和javascript:

var string = "data1 data2[comment] data3[comment] data4 data5[comment][comment]";
string = string.replace(/(\[[^\]]*\])/g, "");
console.log(string);