当前位置: 首页 > 编程语言 > C#

所有非字母数字符号的正则表达式分享

时间:2023-04-10 23:25:07 C#

所有非字母数字符号的正则表达式RegexsymbolPattern=newRegex("?[!@#$%^&*()_-+=[{]};:|./?.]");我只想匹配其中一个!@#$%^&*()_-+=[{]};:|./?。但它似乎没有用。如果要匹配非字母数字符号,请使用W|_。正则表达式模式=newRegex(@"W|_");这将匹配除0-9和a-z之外的任何内容。有关W字符类的信息和此处提供的其他信息。如果你愿意,你也可以避免使用正则表达式:returns.Any(c=>!char.IsLetterOrDigit(c))你能检查相反的情况吗?匹配match=Regex.Match(@"^([a-zA-Z0-9]+)$");if(!match.Success){//它是字母数字}else{//它包含其中一个字符。我没有完全理解你的问题,但这个正则表达式将匹配至少包含一个非字母数字字符的字符串。这包括空格(虽然在您的列表中不可见)[^w]+您的正则表达式需要很少的调整。连字符用于形成A-Z范围,因此如果要匹配文字连字符,必须使用反斜杠将其转义或将其移至列表末尾。您还需要转义方括号,因为它们是字符类定界符。然后去掉开头的那个问号,你就开始做生意了。RegexsymbolPattern=newRegex(@"[!@#$%^&*()_+=[{]};:|./?,-]");如果您只想匹配ASCII标点字符,这可能是最简单的方法。除了标点符号外,W还匹配空格和控制字符,它匹配整个Unicode范围,而不仅仅是ASCII。但是您似乎缺少一些字符:反斜杠、撇号和引号。添加这些给你:@"[!@#$%^&*()_+=[{]};:|./?,\'""-]"最后,总是使用C#的逐字字符串文字(@"...")因为正则表达式是个好主意;它为你省去了很多反斜杠的麻烦。引号通过加倍来转义。以上就是C#学习教程:所有非字母数字符号的正则表达式分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: