From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4259 invoked by alias); 1 Jul 2013 19:37:28 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17842 Received: (qmail 9655 invoked from network); 1 Jul 2013 19:37:23 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at spodhuis.org does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=spodhuis.org; s=d201210; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=CAxcKnCN1srL7spVdG/G1AbsdIdr3+mRgfYp/B09XWg=; b=p4w3V0aBuypKVi2DO4p4fwW3lfZQ1vmSSZL88ysKtn1SMjo/itZ2skpPCI9ZablVpM8ltzpL8rDUMhhxEv0Ed2mcZeFB3jiWBBXmGSii62UWh1dnEU2ev5hkLBolpOXLBWd+c5ejPhwAtICKDq0ZLKBpch3FrkBwM125b3h3tOM=; Date: Mon, 1 Jul 2013 15:37:17 -0400 From: Phil Pennock To: TJ Luoma Cc: Zsh-Users List Subject: Re: input foo, output '[F|f][O|o][O|o]'? Message-ID: <20130701193717.GA15681@redoubt.spodhuis.org> Mail-Followup-To: TJ Luoma , Zsh-Users List References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On 2013-07-01 at 13:59 -0400, TJ Luoma wrote: > Before I reinvent the wheel, I thought I'd ask if someone already had > (or knew of) a way to take a string of characters and output a 'case > insensitive' regex version. > > For example, if I input 'CrashPlan' I'd want to get out > [C|c][R|r][A|a][S|s][H|h][P|p][L|l][A|a][N|n] % foo=CrashPlan % for c in ${(s::)foo}; do print -n "[${(U)c}|${(L)c}]";done; print [C|c][R|r][A|a][S|s][H|h][P|p][L|l][A|a][N|n] % If this is for use within zsh, then as ZyX suggests it's simpler, even for regexp cases: setopt rematch_pcre [[ "cRAShpLAn" =~ (?i)$foo ]] -Phil