有没有可能改变
Hello, this is Mike (example)
到
Hello, this is Mike
在正则表达式中使用 JavaScript?
有没有可能改变
Hello, this is Mike (example)
到
Hello, this is Mike
在正则表达式中使用 JavaScript?
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, "");
结果:
"Hello, this is Mike"
var str = "Hello, this is Mike (example)";
alert(str.replace(/\s*\(.*?\)\s*/g, ''));
这也将替换括号前后多余的空格。
尝试 / \([\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}
如果您还需要删除嵌套括号内的文本,则:
var prevStr;
do {
prevStr = str;
str = str.replace(/\([^\)\(]*\)/, "");
} while (prevStr != str);
我发现这个版本最适合所有情况。它不会删除所有空格。
例如“a(测试)b”->“a b”
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim();
"Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();