正则表达式a-z, 0-9, #, +, -中的任何字符,

时间:2022-10-29 21:15:04

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.

测试这个代码。