如何为以下细节编写正则表达式?

时间:2012-12-29 09:27:29

标签: asp.net regex

如何编写一个只允许[]'/\space+的正则表达式, -*(){}&^@

我想在dotnet中使用正则表达式。 请帮帮我?

3 个答案:

答案 0 :(得分:2)

这应该这样做

/[[\]'/\\@ ]+/

Explanation

  NODE                     EXPLANATION
--------------------------------------------------------------------------------
  [[\]'/\\@ ]+             any character of: '[', '\]', ''', '/',
                           '\\', '@', ' ' (1 or more times (matching
                           the most amount possible))

备注:

  • \]已转义,因为它显示在括号([])对
  • \\已转义,因为\是转义字符

根据您的评论更新

/[[\]'/\\@ &(){}+$%#=~"-]+/

答案 1 :(得分:0)

匹配一个或多个字符:

[[\]'/\\@ ]+

要匹配空字符串,请将+更改为a *,即

[[\]'/\\@ ]*

答案 2 :(得分:0)

尝试使用C#.NET:

using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
  string txt=",'/\\ @";

  string re1=".*?"; // Non-greedy match on filler
  string re2="(@)"; // Any Single Character 1

  Regex r = new Regex(re1+re2,RegexOptions.IgnoreCase|RegexOptions.Singleline);
  Match m = r.Match(txt);
  if (m.Success)
  {
        String c1=m.Groups[1].ToString();
        Console.Write("("+c1.ToString()+")"+"\n");
  }
  Console.ReadLine();
    }
  }
}

希望有所帮助:)