JavaScript /正则表达式:删除括号中的文本

时间:2010-11-27 15:52:03

标签: javascript regex

是否可以更改

Hello, this is Mike (example)

Hello, this is Mike

将JavaScript与Regex一起使用?

5 个答案:

答案 0 :(得分:165)

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");

结果:

"Hello, this is Mike"

答案 1 :(得分:24)

var str = "Hello, this is Mike (example)";

alert(str.replace(/\s*\(.*?\)\s*/g, ''));

这也将在括号前后替换多余的空格。

答案 2 :(得分:3)

尝试/ \([\s\S]*?\)/g

哪里

(空格)从字面上匹配字符(空格)

\(从字面上匹配字符(

[\S\s]匹配任何字符(\S匹配任何非空白字符,并且 \s匹配任何空白字符)

*?可以在零次到无限次之间进行匹配

\)从字面上匹配字符)

g全局匹配

代码示例:

var str = "Hello, this is Mike (example)";
str = str.replace(/ \([\s\S]*?\)/g, '');
console.log(str);
.as-console-wrapper {top: 0}

答案 3 :(得分:1)

我发现这个版本最适合所有情况。它不会删除所有空格。

例如" a(测试)b" - > " a b"

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim(); "Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();

答案 4 :(得分:1)

如果您还需要删除嵌套括号内的文本,则:

        var prevStr;
        do {
            prevStr = str;
            str = str.replace(/\([^\)\(]*\)/, "");
        } while (prevStr != str);