-2

, , , , , , , ,およびのみを許可する正規[]表現を作成するにはどうすればよいですか?'/\space+-*(){}&^@

dotnet で動作する正規表現が必要です。私を助けてください?

4

3 に答える 3

2

これでできるはず

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

説明

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

ノート:

  • \][]括弧 ( ) ペアの内側に表示されるため、エスケープされます
  • \\\エスケープ文字であるため、エスケープされます

コメントごとに更新

/[[\]'/\\@ &(){}+$%#=~"-]+/
于 2012-12-29T09:35:26.440 に答える
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();
    }
  }
}

それが役に立てば幸い :)

于 2012-12-29T09:42:24.847 に答える
0

1 つ以上の文字に一致させるには:

[[\]'/\\@ ]+

空の文字列にも一致させるには、+ を * に変更します。

[[\]'/\\@ ]*
于 2012-12-29T09:35:03.083 に答える