我正在尝试在.NET中为以下字符创建一个正则表达式模式,而我上面的表达式并没有工作和错误。任何帮助表示赞赏。该模式应仅接受包含以下
中任何字符的字符串a-z A-Z 0-9 @ # $ € ƒ £ ¥ % & * ( ) - _ + ] [ } { ' ; : = ` . , / \ ^
我拥有的是
const string pattern = @"[a-zA-Z0-9\@\#\$\€\ƒ\£\¥\%\&\*\(\)\-\_\+\]\[\}\{\'\;\:\=\`\.\,\/\\\^]+$";
答案 0 :(得分:1)
你错过了字符串的开头和过度逃避,试试这个:
^[a-zA-Z0-9@#\$€ƒ£¥\%&\*\(\)\-_\+\]\[\}\{';:=`\.,/\\\^]+$
答案 1 :(得分:0)
不要让你的模式具有包容性,并尝试匹配所有字符,而是使模式独占并告诉它不匹配。
例如,使用CSV设置中的某些字符进行假设后续操作
£36 %12,
所以我们想要除了逗号以外的所有内容,所以我们使用模式集否定[^ ]
,它允许我们通过指定这种模式来使用除逗号之外的所有内容:
([^,]+)
以上数据将为我们提供
£36 %12
这就是设置否定的美妙之处,就是你指定一个锚字符并将所有东西都用到锚点。