正则表达式模式单个和多个相同字符的实例

Posted

技术标签:

【中文标题】正则表达式模式单个和多个相同字符的实例【英文标题】:Regex pattern single and multiple instance of same character 【发布时间】:2016-03-09 09:50:23 【问题描述】:

我正在使用正则表达式来清理字符串,我希望删除特殊字符,允许单词和数字,并允许单词之间有空格。

下面的代码运行良好,但我也想接受 - 字符的单个实例,但按顺序停止 n 次,例如---- 取以下字符串和expexted结果:

之前:'灰色1.25-2.50mm\----''

后:灰色1.25-2.50mm

string clean = Regex.Replace(test, @"[^0-9a-zA-Z./ \w]+", "").Trim();

我删除了 - 从我的示例中删除,因为它会接受所有实例。

【问题讨论】:

如果在字符类中添加\w0-9a-zA-Z 是多余的。 试试[^./ \w-]+|\B-\B 感谢 Soner,这按预期工作。 抱歉,我应该感谢stribizhev。 【参考方案1】:

您可以使用正则表达式:

string clean = Regex.Replace(@"grey 1.25-2.50mm \ ----", @"([^\w./\s-]+|-2,)", "")

【讨论】:

以上是关于正则表达式模式单个和多个相同字符的实例的主要内容,如果未能解决你的问题,请参考以下文章

egrep 及扩展正则表达式

Python爬虫编程思想(30):用正则表达式匹配多个字符串和任意单个字符

shell:正则表达式和文本处理

正则表达式

正则表达式的使用

C# 正则表达式 - 为括号内的单个模式查找一个或多个匹配项