2016-06-09 39 views
-1

我有这样的正则表达式"(^[0-9a-zA-ZñÑáéíóúÁÉÍÓÚ ]{1,30}$)" 验证字母数字和特殊字符,但不疗法线使用正则表达式在C#中有n

Regex r = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline); 
     Match m = r.Match(dato[colIndex - 1]); 

    if (m.Success) 

m.Success返回false,因为工作,变量拿督[colIndex- 1]包含字符串 “阿库尼亚”

我证明太此:

[\\u00D1] //为了这个,我使用一个字符串= “N”

\\w 

,不工作,要么

+0

本网站仅接受英文问题,所以我编辑了您的帖子以删除非英文部分。 –

+0

好的,谢谢,对不起,在此先谢谢 –

回答

0

下面的模式应该正常工作。

string pattern = @"^([\w ]{0,30})$"; 

如果不是,那么您从数据库中获得的文本可能有一个不可见的字符。 你可以尝试下面的例子来看看你自己。

using System; 
using System.Text.RegularExpressions; 

class Program 
{ 
    static void Main() 
    { 
     var re = new Regex(@"^([\w ]{0,30})$", RegexOptions.IgnoreCase | RegexOptions.Singleline); 
     //Console.WriteLine(re.Match("ACUÑA").Success); 
     Console.WriteLine(re.IsMatch("ACUÑA")); // Should print "True" 
    } 
} 
+0

是的我的朋友打印真实, 怎么可能解决?你能帮我吗 ? ,文本是一个.txt的字符串问题不是正则表达式否则文本? –

+0

我解决了我的朋友,错误是我使用的编码。我改变为默认,所以得到“ñ”,而不是(?)错误字符,再见,谢谢 –