How do I match a string containing a-z, 0-9, #, +, - & a period, in any order? No other characters.
如何以任意顺序匹配包含a-z、0-9、#、+和- &一个句点的字符串?没有其他字符。
3 个解决方案
#1
3
Use a character class:
使用一个字符类:
^[a-z0-9#+.-]+$
Explanation
解释
-
^
is a start of string anchor. - ^是一个字符串锚的开始。
-
[...]
is a character class. - […是一个角色类。
-
+
means "one or more". - +表示“一个或多个”。
-
$
is an end of string anchor. - $是字符串锚的结束。
#2
0
use this regex:
使用这个正则表达式:
^[\da-z#+.&-]+$
#3
0
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] myStrings = { "1-2&3-4",
"ABC#123",
"12+abc-34#" };
string pattern = @"^[a-z0-9&#+.-]+$";
foreach (string myString in myStrings)
Console.WriteLine("{0} {1} a valid string.",
myString,
Regex.IsMatch(myString, pattern) ? "is" : "is not");
}
}
Test this code here.
测试这个代码。
#1
3
Use a character class:
使用一个字符类:
^[a-z0-9#+.-]+$
Explanation
解释
-
^
is a start of string anchor. - ^是一个字符串锚的开始。
-
[...]
is a character class. - […是一个角色类。
-
+
means "one or more". - +表示“一个或多个”。
-
$
is an end of string anchor. - $是字符串锚的结束。
#2
0
use this regex:
使用这个正则表达式:
^[\da-z#+.&-]+$
#3
0
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] myStrings = { "1-2&3-4",
"ABC#123",
"12+abc-34#" };
string pattern = @"^[a-z0-9&#+.-]+$";
foreach (string myString in myStrings)
Console.WriteLine("{0} {1} a valid string.",
myString,
Regex.IsMatch(myString, pattern) ? "is" : "is not");
}
}
Test this code here.
测试这个代码。