小编Joh*_*eld的帖子

如何删除多对括号之间的文本?

我想删除多对括号中的每对之间包含的文本。如果字符串中只有一对括号,则下面的代码可以正常工作:

var text = "This (remove me) works fine!";

// Remove text between brackets.
text = Regex.Replace(text, @"\(.*\)", "");

// Remove extra spaces.
text = Regex.Replace(text, @"\s+", " ");

Console.WriteLine(text);
Run Code Online (Sandbox Code Playgroud)

这工作正常!

但是,如果字符串中包含多组括号,则会删除过多的文本。Regex 表达式删除 FIRST 左括号和 LAST 右括号之间的所有文本。

var text = "This is (remove me) not (remove me) a problem!";

// Remove text between brackets.
text = Regex.Replace(text, @"\(.*\)", "");

// Remove extra spaces.
text = Regex.Replace(text, @"\s+", " ");

Console.WriteLine(text);
Run Code Online (Sandbox Code Playgroud)

这是个问题!

我很难过 - 我确定有一个简单的解决方案,但我没有想法......

帮助最受欢迎!

c# regex

7
推荐指数
1
解决办法
9451
查看次数

JavaScript正则表达式替换'+ ve'而'正'不起作用

我有一个看似非常简单的任务 - 在字符串中查找所有出现的'+ ve'并替换为'positive'.

我知道我需要逃避加号,因此我使用'\\ +'.

如果我不与单词边界结合,它工作正常:

var txt = 'I am most +ve this should work!';
var pattern = new RegExp('\\+ve', 'gi');
alert(txt.replace(pattern, 'positive'));
Run Code Online (Sandbox Code Playgroud)

但是,只要我与单词边界结合,正则表达式就无法匹配:

var txt = 'I am most +ve this should work!';
var pattern = new RegExp('\\b\\+ve\\b', 'gi');
alert(txt.replace(pattern, 'positive'));
Run Code Online (Sandbox Code Playgroud)

我确信有一个明显的解决方案 - 任何建议都是最受欢迎的!

javascript regex

1
推荐指数
1
解决办法
38
查看次数

标签 统计

regex ×2

c# ×1

javascript ×1