c#中特殊字符的正则表达式

时间:2015-08-06 12:10:20

标签: c# regex

我的国家/地区名称中包含一些特殊字符。

  1. CONGO,DEM。 REP。
  2. COTE D'IVOIRE
  3. 几内亚比绍
  4. 韩国,(南部)共和国
  5. 所以,我编写了一个正则表达式来验证一个国家/地区名称,除JSONArray claims = c.getJSONArray(TAG_CLAIM); , . ' {{1}之外,不得包含任何数字和特殊字符}} -

    我在下面写了正则表达式

    (

    但它没有做到这一点。有人可以让我知道我做错了什么。

3 个答案:

答案 0 :(得分:2)

如果您打算也允许使用撇号,只需将其添加到字符类:

@"^[a-zA-Z’\-'()/.,\s]+$"
          ^

请注意,如果它位于字符类的末尾,则不必转义-,并且可以使用(?i)不区分大小写的修饰符来缩短a-zA-Z部分:< / p>

@"(?i)^[a-z’'()/.,\s-]+$"

C#:

string country = "COTE D’IVOIRE";
bool isValid = Regex.IsMatch(country.Trim(), @"(?i)^[a-z’'()/.,\s-]+$");
// or use RegexOptions.IgnoreCase option
//bool isValid = Regex.IsMatch(country.Trim(), @"^[a-z’'()/.,\s-]+$", RegexOptions.IgnoreCase);

enter image description here

答案 1 :(得分:2)

添加到符号列表

string country = "COTE D’IVOIRE"
bool isValid = Regex.IsMatch(country.Trim(), @"^[a-zA-Z\-'’()/.,\s]+$");

答案 2 :(得分:1)

尝试这种模式:

^[a-zA-Z\-–'’()\/.,\s]+$

Demo