C# 正则表达式含义';[:*]和#x2B';并与LINQ请求进行比较

C# 正则表达式含义';[:*]和#x2B';并与LINQ请求进行比较,c#,regex,linq,regex-lookarounds,C#,Regex,Linq,Regex Lookarounds,我不熟悉正则表达式 你能给我解释一下那个规则吗 str = Regex.Replace(str, "[:*]+", ""); 通过LINQ请求或简单的str.replace(),可以更容易/更快地完成吗?[]定义了一组可以填充该点的字符,并且+表示它是其中的一个或多个字符。这将匹配任何系列的:和*字符。例如*或:*:或:。它将采取任何匹配的,并删除它,因为它是取代他们没有 至于更快的方法。特别是如果您不止一次地执行此操作和/或可以编译正则表达式以供多次使用,这正是正则表达式设计用于快速高效处理

我不熟悉正则表达式

你能给我解释一下那个规则吗

str = Regex.Replace(str, "[:*]+", "");

通过LINQ请求或简单的
str.replace()
,可以更容易/更快地完成吗?

[]定义了一组可以填充该点的字符,并且+表示它是其中的一个或多个字符。这将匹配任何系列的:和*字符。例如*或:*:或:。它将采取任何匹配的,并删除它,因为它是取代他们没有


至于更快的方法。特别是如果您不止一次地执行此操作和/或可以编译正则表达式以供多次使用,这正是正则表达式设计用于快速高效处理的类型。

[]定义了一组可以填充此位置的字符,并且+表示它是其中的一个或多个字符。这将匹配任何系列的:和*字符。例如*或:*:或:。它将采取任何匹配的,并删除它,因为它是取代他们没有


至于更快的方法。特别是如果您不止一次地执行此操作和/或可以编译正则表达式以供多次使用,这正是正则表达式设计用于快速高效处理的类型。

[]定义了一组可以填充此位置的字符,并且+表示它是其中的一个或多个字符。这将匹配任何系列的:和*字符。例如*或:*:或:。它将采取任何匹配的,并删除它,因为它是取代他们没有


至于更快的方法。特别是如果您不止一次地执行此操作和/或可以编译正则表达式以供多次使用,这正是正则表达式设计用于快速高效处理的类型。

[]定义了一组可以填充此位置的字符,并且+表示它是其中的一个或多个字符。这将匹配任何系列的:和*字符。例如*或:*:或:。它将采取任何匹配的,并删除它,因为它是取代他们没有



至于更快的方法。特别是如果您不止一次地使用它,并且/或者可以编译regex以供不止一次使用,这正是regex设计用来快速高效处理的事情。

将此标记为书签:既不简单也不快速。您将需要多个replace调用来创建多个临时字符串。LINQ会更糟糕,因为它会首先将字符串转换为字符数组,对其进行过滤并重新构建。在任何情况下,这只适用于琐碎的情况,因为任何更复杂的事情(例如检查两个或更多的字符)都需要复杂的代码有一本很棒的书,Jeffrey E.F.Friedl(O'Reilly&Associates)的《掌握正则表达式》,我希望你读一读。正则表达式对于程序员来说是一项非常重要的技能,要学会如何使用它。这个网站非常好,谢谢:)我已经写了这样一行:
str.Replace('x','').Replace('y','')是否最好打开一个正则表达式,比如
str=Regex.Replace(str,[xy]+,”)?将此设置为书签:既不简单也不快速。您将需要多个replace调用来创建多个临时字符串。LINQ会更糟糕,因为它会首先将字符串转换为字符数组,对其进行过滤并重新构建。在任何情况下,这只适用于琐碎的情况,因为任何更复杂的事情(例如检查两个或更多的字符)都需要复杂的代码有一本很棒的书,Jeffrey E.F.Friedl(O'Reilly&Associates)的《掌握正则表达式》,我希望你读一读。正则表达式对于程序员来说是一项非常重要的技能,要学会如何使用它。这个网站非常好,谢谢:)我已经写了这样一行:
str.Replace('x','').Replace('y','')是否最好打开一个正则表达式,比如
str=Regex.Replace(str,[xy]+,”)?将此设置为书签:既不简单也不快速。您将需要多个replace调用来创建多个临时字符串。LINQ会更糟糕,因为它会首先将字符串转换为字符数组,对其进行过滤并重新构建。在任何情况下,这只适用于琐碎的情况,因为任何更复杂的事情(例如检查两个或更多的字符)都需要复杂的代码有一本很棒的书,Jeffrey E.F.Friedl(O'Reilly&Associates)的《掌握正则表达式》,我希望你读一读。正则表达式对于程序员来说是一项非常重要的技能,要学会如何使用它。这个网站非常好,谢谢:)我已经写了这样一行:
str.Replace('x','').Replace('y','')是否最好打开一个正则表达式,比如
str=Regex.Replace(str,[xy]+,”)?将此设置为书签:既不简单也不快速。您将需要多个replace调用来创建多个临时字符串。LINQ会更糟糕,因为它会首先将字符串转换为字符数组,对其进行过滤并重新构建。在任何情况下,这只适用于琐碎的情况,因为任何更复杂的事情(例如检查两个或更多的字符)都需要复杂的代码有一本很棒的书,Jeffrey E.F.Friedl(O'Reilly&Associates)的《掌握正则表达式》,我希望你读一读。正则表达式对于程序员来说是一项非常重要的技能,要学会如何使用它。这个网站非常好,谢谢:)我已经写了这样一行:
str.Replace('x','').Replace('y','')是否最好打开一个正则表达式,比如
str=Regex.Replace(str,[xy]+,”)?好的,谢谢。我认为*在正则表达式中是一个特殊字符,但正如您所描述的,它在[]中可能不是一个特殊字符。@wyles correct,在[]中,它只是组成您定义的字符类的字符列表。模式在[]内没有意义。好的,谢谢。我以为*是正则表达式中的一个特殊字符,但是