[英]Regex with numbers and special characters but no letters
我正在制作一个接受带有任何小数(0-9),+,*或#的输入的正则表达式,但不应接受任何字母(az)。
所以数字就像
应该被接受。
当字符串中有任何字母时,正则表达式无效。
这是我到目前为止的正则表达式:
private const string PhoneNumberRegex = "((\\d)|(\\*)|(\\#)|(\\+))?";
private bool IsValid(inputString)
{
// Accept * # + and number
Match match = Regex.Match(inputString, PhoneNumberRegex, RegexOptions.IgnoreCase);
return match.Success;
}
但是这个正则表达式在#192#abbef上也会返回true
我怎样才能解决这个问题?
你可以用这个:
private const string PhoneNumberRegex = @"^[0-9*#+]+$";
其中^
和$
是字符串开头和结尾的锚点。
注意: RegexOptions.IgnoreCase
。
你需要用^
(行首)和$
(行尾)锚定你的字符串。 否则,如果匹配的任何部分匹配,则字符串匹配。
此外,您至少需要其中一个字符(您不希望匹配空字符串,因此您应该使用+
(一个或多个)。
最后,你可以用你的所有角色制作一个角色类: [\\d*#+]
。
把它们放在一起就可以了:
private const string PhoneNumberRegex = "^[\\d*#+]+$";
这意味着从字符串的开头到结尾,您需要列出的一个或多个字符。
我相信这将满足您的需求
private const string PhoneNumberRegex = @"^([0-9]|#|\+|\*)+$"
用这个 :
const string MYRegex = @"^[0-9*#+]+$";
有关更多信息,请访问plz
http://www.regexlib.com/Search.aspx?k=special%20characters&AspxAutoDetectCookieSupport=1
http://www.cisco.com/en/US/docs/ios_xr_sw/iosxr_r3.4/getting_started/installation/guide/gs34aexp.pdf
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.