0

「|」で区切られた構成 appsetting で引用符付きの文字列を使用する 正規表現一致キーワードを使用して、入力文字列からパターンを見つけます

<add key="SignatureWord" value="IN WITNESS|For this purpose|Please confirm your agreement|Acknowledged and Agreed|EXECUTED by the parties|(i) Any amount (the &quot;Early Termination Amount&quot;)"/>


public bool isSignature()
    {
NodeVal="(i) Any amount (the \"Early Termination Amount\") payable to one party  (the        \"Payee\")by the other party (the \"Payer\") under Section 6(e)";
        bool isSignature = false;

        string kWordforSignature = ConfigurationSettings.AppSettings["SignatureWord"].ToString();

        Match mObj = Regex.Match(NodeVal, @"\b" + kWordforSignature + @"\b", RegexOptions.Singleline | RegexOptions.IgnoreCase);
        if ((mObj.Success) && (NodeVal.IndexOf(mObj.ToString().Trim()) == 0))
        {
            isSignature = true;
        }
        return isSignature;
    }

キーワード「(i) 任意の金額 (\"Early Termination Amount\")」が appsetting で定義されている場合に機能しないが、「IN WITNESS」などの他のすべてのキーワードは適切に機能する

4

1 に答える 1

2

括弧は、グループ マッチングに使用される特殊文字です。正規表現でバックスラッシュを使用してそれらをエスケープする必要があります。

一致するグループをまったく使用しない場合、エスケープされていない括弧は、正規表現でまったく発生しないかのように機能します。これが、入力での発生により一致が妨げられる理由です。

于 2012-06-22T07:04:17.097 に答える