我想知道如何将未知数量的等号(即不少于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] 删除。
我来说两句