当前位置:  开发笔记 > 编程语言 > 正文

解析"*" - 量词{x,y}什么都没有

如何解决《解析"*"-量词{x,y}什么都没有》经验,为你挑选了2个好方法。

我尝试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*匹配任何内容或任意多个as.



1> Joey..:

您是否尝试仅将字符串"*"用作正则表达式?至少这是导致你的错误的原因:

PS Home:\> "a" -match "*"
The '-match' operator failed: parsing "*" - Quantifier {x,y} following nothing..
At line:1 char:11
+ "a" -match  <<<< "*"

该字符*在正则表达式中是特殊的,因为它允许前面的标记出现零次或多次.但实际上必须有一些先于它的东西.

如果要匹配文字星号,请使用\*正则表达式.否则,你需要指定哪些可能会重复.例如,正则表达式连续a*匹配任何内容或任意多个as.



2> Hans Kesting..:

"*"的正则表达式看起来很孤单.这是不正确的.A "*"不代表"任何东西"(比如文件规范),但"前一个可以重复0次或更多次".

如果你想要"任何东西"你必须写".*".的"."装置"的任何单个字符",那么这将被重复.

编辑:如果你被自己使用其他的量词同样会发生:"+","?""{n,m}"(其中n和m是指定下限和上限的数字).

"*"与"{0,}"相同,

"+"与"{1,}"相同,

"?" 与"{0,1}"相同

这可能会解释您收到的文本或错误消息.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有