C# 解析*"E;”零后面的量词{x,y}
尝试C# 解析*"E;”零后面的量词{x,y},c#,.net,C#,.net,尝试Regex.Replace()方法时失败。 我怎样才能修好它 Replace.Method (String, String, MatchEvaluator, RegexOptions) 我尝试代码 <%# Regex.Replace( (Model.Text ?? "").ToString(), patternText, "<b>" + patternText + "</b>", RegexOptions.IgnoreCase | RegexOptions.M
Regex.Replace()
方法时失败。
我怎样才能修好它
Replace.Method (String, String, MatchEvaluator, RegexOptions)
我尝试代码
<%# Regex.Replace( (Model.Text ?? "").ToString(), patternText, "<b>" + patternText + "</b>", RegexOptions.IgnoreCase | RegexOptions.Multiline)%>
是否仅尝试使用字符串
“*”
作为正则表达式?至少这是导致您在此处出错的原因:
PS Home:\> "a" -match "*"
The '-match' operator failed: parsing "*" - Quantifier {x,y} following nothing..
At line:1 char:11
+ "a" -match <<<< "*"
PS Home:\>“a”-匹配”*
“-match”运算符失败:分析“*”-Quantifier{x,y}后没有任何内容。。
第1行字符:11
+“a”-match是否仅尝试使用字符串“*”
作为正则表达式?至少这是导致您在此处出错的原因:
PS Home:\> "a" -match "*"
The '-match' operator failed: parsing "*" - Quantifier {x,y} following nothing..
At line:1 char:11
+ "a" -match <<<< "*"
PS Home:\>“a”-匹配”*
“-match”运算符失败:分析“*”-Quantifier{x,y}后没有任何内容。。
第1行字符:11
+“a”-match您的正则表达式中似乎只有一个“*”
。这是不对的。“*”
并不意味着“任何东西”(就像在文件规范中),而是“上一个可以重复0次或更多次”
如果你想要“任何东西”,你必须写“*”
。“
表示“任何单个字符”,然后将重复该字符
编辑:
如果您单独使用其他量词,也会发生同样的情况:“+”
、“?”
或“{n,m}”
(其中n和m是指定下限和上限的数字)
- “*”与“{0,}”相同
- “+”与“{1,}”相同
- “?”与“{0,1}”相同
这可能解释了您收到的文本或错误消息。您的正则表达式中似乎只有一个“*”
。这是不对的。“*”
并不意味着“任何东西”(就像在文件规范中),而是“上一个可以重复0次或更多次”
如果你想要“任何东西”,你必须写“*”
。“
表示“任何单个字符”,然后将重复该字符
编辑:
如果您单独使用其他量词,也会发生同样的情况:“+”
、“?”
或“{n,m}”
(其中n和m是指定下限和上限的数字)
- “*”与“{0,}”相同
- “+”与“{1,}”相同
- “?”与“{0,1}”相同
这可能会解释您收到的文本或错误消息。谢谢
我就这样修好了
<%# Regex.Replace( (Model.Text ?? "").ToString(), Regex.Escape(patternText), "<b>" + patternText + "</b>", RegexOptions.IgnoreCase | RegexOptions.Multiline)%>
谢谢
我就这样修好了
<%# Regex.Replace( (Model.Text ?? "").ToString(), Regex.Escape(patternText), "<b>" + patternText + "</b>", RegexOptions.IgnoreCase | RegexOptions.Multiline)%>
Er,当您尝试Regex.Replace时,什么失败了?当我尝试不只是*,+?呃,当您尝试Regex.Replace时,什么失败了?当我尝试不只是*,+?任何单个字符时,都会发生,有时,换行符除外。任何单个字符,有时,换行符除外。(Model.Text??).ToString()
实际上相当于Model.Text??“
,作为字符串上的ToString()
只返回该字符串。为什么在string.Replace完成任务时使用Regex.Replace?(Model.Text??)。ToString()
实际上等同于Model.Text??”??“
,作为字符串上的ToString()
仅返回该字符串。为什么在字符串.Replace将完成任务时使用Regex.Replace?只需在此处为使用的任何人添加注释,其中对象{$\ notmatch'*text*text*}
将失败,使用'text.text'
只为任何使用对象{$\uu-notmatch'*text*text*}
将失败的人在此处添加注释,而使用'text.text'