'-';使用正则表达式匹配特殊字符时不工作,c#
模式是'-';使用正则表达式匹配特殊字符时不工作,c#,c#,.net,regex,C#,.net,Regex,模式是 Regex splRegExp = new System.Text.RegularExpressions.Regex(@"[\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,-,_]"); 除“-”外,所有字符都有效。请告知。“-”必须是正则表达式中的第一个字符 Regex splRegExp = new System.Text.RegularExpressions.Regex(@"[-,\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,
Regex splRegExp = new System.Text.RegularExpressions.Regex(@"[\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,-,_]");
除“-”外,所有字符都有效。请告知。“-”必须是正则表达式中的第一个字符
Regex splRegExp = new System.Text.RegularExpressions.Regex(@"[-,\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,_]");
“-”必须是正则表达式中的第一个字符
Regex splRegExp = new System.Text.RegularExpressions.Regex(@"[-,\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,_]");
您需要转义-字符才能使其工作(这是一种正则表达式语法) 试试这个:
"[\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,\-,_]"
您需要转义-字符才能使其工作(这是一种正则表达式语法) 试试这个:
"[\,@,+,\,?,\d,%,.,?,*,&,^,$,(,!,),#,\-,_]"
使用
不需要所有的逗号
如果将-
放在类中,则仅当它位于类的开头或结尾时,才表示文字破折号。否则,它表示类似于a-Z
的范围。正如Damien所说,范围,-,
确实很小(当然不包含-
)
不需要所有的逗号
如果将
-
放在类中,则仅当它位于类的开头或结尾时,才表示文字破折号。否则,它表示类似于a-Z
的范围。正如Damien所说,范围,-,
确实很小(当然不包含-
)或者你可以用\-
来“转义”-
不,它没有。请参阅@Tim Pietzcker的答案。或者您可以使用\-
来“逃避”-
。不,它不会。请看@Tim Pietzcker的回答。我试图找出最好的方式来表示他确实希望,
进入该角色组,而且,-,
的范围相当小,但你似乎已经对事情进行了充分的总结。我试图找出最好的方式来表示他确实希望,
是在那个字符组中,而且范围,-,
很小,但是你似乎已经对事情做了充分的总结。为什么要用逗号?它们被视为“标准”字符而不是分隔符,因此它们是“匹配的”([,]
匹配,
)。请注意,``将转义下一个字符。为什么要用逗号?它们被视为“标准”字符而不是分隔符,因此它们是“匹配的”([,]
匹配,
)。注意``将转义下一个字符。