Regex嵌套量词+
本文关键字:量词 嵌套 Regex | 更新日期: 2023-09-27 18:28:07
我正在尝试用以下字符串中的<b>c++</b>
替换c++
:
"Select the projects entry and then select VC++ directories. Select show"
我希望它是
"Select the projects entry and then select V<b>C++</b> directories. Select show"
我使用这个代码:
string cssOld = Regex.Replace(
"Select the projects entry and then select VC++ directories. Select show",
"c++", "<b>${0}</b>", RegexOptions.IgnoreCase);
我得到以下错误:System.ArgumentException: parsing "c++" - Nested quantifier +.
此代码与其他文本(!c++)配合良好。+运算符似乎导致Regex库抛出异常。
+
是正则表达式中的一个特殊字符;意思是"匹配前面的一个或多个字符"。
要匹配文字+
字符,您需要通过写入'+
(在@""
文字内)来对其进行转义
要匹配任意文字字符,请使用Regex.Escape
。
您应该转义regex
:中的特殊字符
string cssOld = Regex.Replace(
"Select the projects entry and then select VC++ directories. Select show ",
@"c'+'+", "${0}", RegexOptions.IgnoreCase);