用于从字符串中删除特定BBCode的正则表达式
我正在尝试编写一种从输入字符串中删除特定BBCode的简单方法。
例如,我有一个输入:
string input = "[b]Hello World![/b]";
我希望能够做到:
Remove(input, "b");
得到一个输出:
"Hello World!"
正则表达式真的不是我的强项。 我已经设法从谷歌拼凑以下内容:
public static string Remove(string input, string code) { string pattern = string.Format(@"[{0}].*?[/{1}]", code, code); return Regex.Replace(input, pattern, string.Empty, RegexOptions.IgnoreCase); }
不幸的是,这给我的给定示例返回一个空字符串。
谁能告诉我如何纠正我的正则表达式以获得所需的输出?
谢谢
使用这个简单的正则表达式: [/?{0}]
你的正则表达式正在删除整个字符串
下面的正则表达式将捕获字符串Hello World!
在第二组内。
^(.*?)((?<=])[^[]*)(.*)$
DEMO
因此,用第二个捕获的组替换所有输入字符串。
如果你确定必须同时出现起始和尾随特殊符号并且你不希望它们出现在结果中,你可以使用正向回顾((?<=(这里是你的符号)))和正向前看((? =(您的符号在这里)))指定的字符。
完整的答案将如下所示:
上述就是C#学习教程:用于从字符串中删除特定BBCode的正则表达式分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
(?<=([{0}])).*(?=([/{1}]))
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1015346.html