如何编写一个只允许[]
,'
,/
,\
,space
,+
的正则表达式, -
,*
,()
,{}
,&
,^
和@
?
我想在dotnet中使用正则表达式。 请帮帮我?
答案 0 :(得分:2)
这应该这样做
/[[\]'/\\@ ]+/
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();
}
}
}
希望有所帮助:)