我有一组数据总是包含这样的内容:
title(s) (some_text)
现在我想用正则表达式删除(某些东西)。
我的问题:(some_text)中的值可以是任何值。
知道如何使用正则表达式来解决这个问题吗?
一些示例数据:
Egg(s) (whole)
Berry (mix) (g)
预期输出:
Egg(s)
Berry (mix)
答案 0 :(得分:0)
使用\s\(.*\)$
,您可以删除数据的最后一部分
这里是example
答案 1 :(得分:0)
假设您的每一行都在一个单独的字符串中,您可以使用它来匹配应删除的内容:
在剧本中:
var tests = ["Egg(s) (whole) ", "Berry (mix) (g)"];
for (let s of tests) {
s = s.replace(/\s*\([^(]*\)\s*$/, "");
console.log(s);
}
答案 2 :(得分:0)
以下是我使用此正则表达式/\s\([^(]*\)$/
所做的事情:
var tests = ["Egg(s) (whole)", "Berry (mix) (g)"];
tests.forEach(function(str, i){
tests[i] = str.replace(/\s\([^(]*\)$/, '');
});
console.log(tests);

您无法使用更简单的/\s\(.*\)$/
因为它将返回" Berry" for" Berry(mix)(g)"。
希望它有所帮助。