如何编写只允许[]
, '
, /
, \
, space
, +
, -
, *
, ()
, {}
,&
和^
的正则表达式@
?
我想要在 dotnet 中工作的正则表达式。请帮我?
这应该这样做
/[[\]'/\\@ ]+/
NODE EXPLANATION
--------------------------------------------------------------------------------
[[\]'/\\@ ]+ any character of: '[', '\]', ''', '/',
'\\', '@', ' ' (1 or more times (matching
the most amount possible))
笔记:
\]
被转义,因为它出现在括号 ( []
) 对内\\
被转义,因为\
是转义字符根据您的评论更新
/[[\]'/\\@ &(){}+$%#=~"-]+/
要匹配 1 个或多个字符:
[[\]'/\\@ ]+
要也匹配空字符串,请将 + 更改为 *,即
[[\]'/\\@ ]*
在 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();
}
}
}
希望能帮助到你 :)