C#正则表达式以相同数量的字符替换匹配

用户名

我想知道如何将未知数量的等号(即不少于2个...)的正则表达式匹配替换为相同的下划线

到目前为止,我得到了:

text = Regex.Replace(text, "(={2,})", ""); 

我应该使用什么作为第三个参数?

编辑:可能是一种兼容所有语言的正则表达式解决方案

纳赫德

一个不太清晰的答案(就代码的清晰度而言):

text = Regex.Replace(text, "=(?==)|(?<==)=", "_");

如果=连续多于2个,那么在每一个处=,我们都将找到=前移或后移。

仅当该语言支持后向(包括C#,Java,Python,PCRE ...)并且不包括JavaScript时,此方法才有效。

但是,由于可以String.replace在JavaScript中传递函数,因此可以编写类似于Alexei Levenkov的答案的代码。实际上,Alexei Levenkov的答案适用于多种语言(很好,Java除外)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章