C#は正のワイルドカードです

オリジナル: C#が正のワイルドカードです

ワイルドカード文字列については、次のコードを使用することができます肯定的です

    public static class WildcardRegexString
    {
        /// <summary>
        /// 通配符转正则
        /// </summary>
        /// <param name="wildcardStr"></param>
        /// <returns></returns>
        public static string GetWildcardRegexString(string wildcardStr)
        {
            Regex replace = new Regex("[.$^{\\[(|)*+?\\\\]");
            return replace.Replace(wildcardStr,
                       delegate (Match m)
                       {
                           switch (m.Value)
                           {
                               case "?":
                                   return ".?";
                               case "*":
                                   return ".*";
                               default:
                                   return "\\" + m.Value;
                           }
                       }) + "$";
        }
    }

あなたは、大文字と小文字を区別必要としないユーザーに知らせる機能を記述する必要があるので、多くの場合、ファイル大文字と小文字を区別する必要はありません。

        /// <summary>
        /// 获取通配符的正则
        /// </summary>
        /// <param name="wildcarStr"></param>
        /// <param name="ignoreCase">是否忽略大小写</param>
        /// <returns></returns>
        public static Regex GetWildcardRegex(string wildcarStr, bool ignoreCase)
        {
            if (ignoreCase)
            {
                return new Regex(GetWildcardRegexString(wildcarStr));
            }
            return new Regex(GetWildcardRegexString(wildcarStr), RegexOptions.IgnoreCase);
        }

あなたは、通常のアセンブリモードを使用する遅い開始、しかし、高速で実行することができます

          private static Regex _regex = new Regex("[.$^{\\[(|)*+?\\\\]", RegexOptions.Compiled);

彼らはこれを使用するので、私は、ソフトウェアを再使用する必要があります。

コード:

https://gist.github.com/lindexi/2bd3bccb6de194aa40ad2e09a5413000


:この記事では、元のテキストを読んでください、頻繁に更新されますhttps://blog.lindexi.com/post/C-%E9%80%9A%E9%85%8D%E7%AC%A6%E8%BD%AC%E6% %A3%E5%AD%の99.html 88、知識の古いエラー、より良い読書体験を誤解ないようにするためです。

あなたは私の最新のブログを読むことを続けたい場合は、をクリックしてくださいRSSフィード、使用することをお勧めしますRSSストーカーをブログ、またはを購読する私のホームページCSDNの懸念をご覧ください。

クリエイティブコモンズライセンス この作品は、ある非営利- -同一条件許諾4.0の国際ライセンス契約クリエイティブ・コモンズのライセンスのために。転載、使用、再投稿が、(リンクを含む:リンデ西が署名した文書保管してくださいへようこそhttps://blog.lindexi.comは)、紙のライセンス変更に基づいて、同じ作業を公開するようにしてください、商業目的のために使用してはなりません。ご質問があれば、してください私に連絡

以下は時間を宣伝しています

推奨国民の関心Edi.Wang号

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12082262.html