我尝试Regex.Replace()
方法时失败了.我该怎么办呢?
Replace.Method (String, String, MatchEvaluator, RegexOptions)
我试试代码
<%# Regex.Replace( (Model.Text ?? "").ToString(), patternText, "" + patternText + "", RegexOptions.IgnoreCase | RegexOptions.Multiline)%>
Joey.. 42
您是否尝试仅将字符串"*"
用作正则表达式?至少这是导致你的错误的原因:
PS Home:\> "a" -match "*" The '-match' operator failed: parsing "*" - Quantifier {x,y} following nothing.. At line:1 char:11 + "a" -match <<<< "*"
该字符*
在正则表达式中是特殊的,因为它允许前面的标记出现零次或多次.但实际上必须有一些先于它的东西.
如果要匹配文字星号,请使用\*
正则表达式.否则,你需要指定哪些可能会重复.例如,正则表达式连续a*
匹配任何内容或任意多个a
s.
您是否尝试仅将字符串"*"
用作正则表达式?至少这是导致你的错误的原因:
PS Home:\> "a" -match "*" The '-match' operator failed: parsing "*" - Quantifier {x,y} following nothing.. At line:1 char:11 + "a" -match <<<< "*"
该字符*
在正则表达式中是特殊的,因为它允许前面的标记出现零次或多次.但实际上必须有一些先于它的东西.
如果要匹配文字星号,请使用\*
正则表达式.否则,你需要指定哪些可能会重复.例如,正则表达式连续a*
匹配任何内容或任意多个a
s.
你"*"
的正则表达式看起来很孤单.这是不正确的.A "*"
不代表"任何东西"(比如文件规范),但"前一个可以重复0次或更多次".
如果你想要"任何东西"你必须写".*"
.的"."
装置"的任何单个字符",那么这将被重复.
编辑:如果你被自己使用其他的量词同样会发生:"+"
,"?"
或"{n,m}"
(其中n和m是指定下限和上限的数字).
"*"与"{0,}"相同,
"+"与"{1,}"相同,
"?" 与"{0,1}"相同
这可能会解释您收到的文本或错误消息.