0

「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

ありがとう

4

1 に答える 1

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 にコピーして貼り付けたので、結果を再現するには同じ操作が必要になる場合があります。

いずれにせよ、「ça va」と「ca va」の両方に一致する正規表現は\b([cç]a\sva).

于 2012-05-04T18:55:31.277 に答える