【发布时间】:2019-03-19 16:11:53
【问题描述】:
我想删除所有不必要的字符,以便名称有效,这里是规则:
• 长度在 3 到 16 个字符之间
• 仅包含字母、数字、连字符和下划线
• 之前、之后或中间没有多余的符号
这是输入:
Jeff、john45、ab、cd、peter-ivanov、@smith、sh、too_long_username、!lleg@l ch@rs、jeffbutt
到目前为止,我的正则表达式是:https://regexr.com/4ahls,我想删除:
@史密斯
!lleg@l
ch@rs
【问题讨论】:
-
你有什么问题?你有没有尝试过?
-
试试这样:
string.Join(", ", Regex.Matches(s, @"(?<!\S)[a-zA-Z0-9_-]{3,16}(?![^\s,])").Cast<Match>().Select(x => x.Value))
标签: c# .net regex expression