C#Regex匹配法国特殊字符

时间:2012-05-04 16:27:56

标签: c# regex special-characters

是否有可能编写正则表达式以匹配“c”或“ç”以适用于两个示例,例如

var a = "ca va";
var b = "ça va";
Regex.Match(a,"\b(ca\sva)").Success // Match
Regex.Match(b,"\b(ça\sva)").Success // Dont match

由于

1 个答案:

答案 0 :(得分:2)

对我来说,以下代码在任何一种情况下都返回true:

using System;
using System.Text.RegularExpressions;

namespace FrenchRegex
{
    class Program
    {
        static void Main(string[] args)
        {
            var a = "ca va";
            var b = "ça va";

            var regex = @"\b((c|ç)a\sva)";

            var matchA = Regex.Match(a, regex).Success;
            var matchB = Regex.Match(b, regex).Success;

            Console.WriteLine("Matches '" + a + "': " + matchA);
            Console.WriteLine("Matches '" + b + "': " + matchB);

            Console.ReadKey();
        }
    }
}

我复制并粘贴到VS2010中,因此您可能需要执行同样的操作来重现我的结果。

无论如何,我认为与“çava”和“ca va”相匹配的正则表达式为\b([cç]a\sva)