From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25246 invoked from network); 7 Nov 2022 21:28:20 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 7 Nov 2022 21:28:20 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1667856500; b=QXK6hHXz/gEMGpxSxeztzT6JyUDaUJFBbAxnKBmpbjrGfzHMHLzazAGu7ARLCc/zsV53KZDWiV 4pswng8n53dGJmRZrH17RbJFPfmJ6nfaIN+FAAacFRAxI64Q4DznODvE/hrpXZQjKBmWahW0Cc IWjyfkBHXZLEZUy2dKeMKnRdUs8ZLMLrarLA7V+a6LE4KuX8hKEsZdbuAaeGuEPVDQfJxYtZSB B0FD+owRQU38hGfaYHyvRdOokiRRkmB8KY78DZZou/i9BzsgoG/cmNb5OdSrv/UsYs5O1MAydk nlGuuE0tPhJC9+nMBHl1py3/aLHiL/1l3Y50QLk5gLUBLQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-yw1-f181.google.com) smtp.remote-ip=209.85.128.181; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1667856500; bh=sqcGUNAndABtpmjCuY/LqvWQUepKXXfqEtm8UTV3w/k=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=hOcxodaJM+8ylBQ8+nMvBDOt5uU7UAAysIFsCFNlR1JQv65r+FOEPMnXiKvR/7D2tdxx06wZrt vci5rGYfk3J7mFAPT0dE54o4zGfoKymrsuLcOLsKdRd+rWxmPaPTuz968vpB5VVyvooLms3cDq B7O1VqoX1mR8XpcocHil1A8lOzGGQUTMNtxnyicCtfpAXXzaOTJbg9OXxnhf5aUAtVydPG3Vf6 PyDaxVAnMb15/xalSTmOoW7Cek3UlkdhY6GnXXLT0alWMXabZt+A86sVLWOHn0XRBqYcB969Ts ctZuyxXDvhZ2v81vggwtDWEhhe1bW5C03lfAwvxFs6k2Yg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=JxITAEeFntxojrFUqmm1/+o82KKU6ezAyTZqF87GtaE=; b=oCibBoHSVkIvjonNyt4Wdz7A4p D53+I5GOCVG9YzkDMx17Pa/sJSNG3fXU/YW9lBPwTk2NB6S8IJx6zcyswWjGlzclK0oGBmWE1IN0q o1WmKecodHGHtRiocAsfwp6kkjn8yj2Dga/Z34GKinblUIv0/LawoB/05cXSC7HVad3tdxV87FAcL adQ9NWyrLqF+tmu2PsDXZ7ye1CWav+ZtmBH2m6uaK/O1UdzjjEW7c6RO4nZvqCxCYsbTzQpJkrmBE nlwb5A6mcbjJmOscjAnKpaumrNyllPBKtvtpKReFaKsInVevnYrYEgdIhH8o/6cT4gjnR1Po8L1aH RUbMh9LQ==; Received: by zero.zsh.org with local id 1os9fI-0004cq-45; Mon, 07 Nov 2022 21:28:20 +0000 Authentication-Results: zsh.org; iprev=pass (mail-yw1-f181.google.com) smtp.remote-ip=209.85.128.181; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-yw1-f181.google.com ([209.85.128.181]:34634) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1os9dt-0003u1-Go; Mon, 07 Nov 2022 21:26:54 +0000 Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-367cd2807f2so117202797b3.1 for ; Mon, 07 Nov 2022 13:26:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JxITAEeFntxojrFUqmm1/+o82KKU6ezAyTZqF87GtaE=; b=GfMhR3YGA21pBlE2HmvRuH6AMFFHXwgsWpkfcL5uneOgRiDFf5sZBJnHi1vTN8vRlq iuYUAUQ20R13BRtkwj10wZGsArofzLGE00aGSjbv1g8bEIxgkEW13q4Jy3I/S19Uhpw+ cjC8Yj1uQOJ4JOozf7Y345Y4RffJ52SVrhOZ4j0fDembjRni35Rj4abxc70In6Jf9m73 Ob9cQM7wvNqehgvYFn2ERvqXe9K9+pK/RIitZ3gYYHyOImLebIyc8jXoln6iLKMGNNtS xzoE90QJ/7P7FTKM3AF4NJJczsOIfIapawwKD0jBHRvnOPkqne9U/ctuNHx70zhdoVKt C5Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JxITAEeFntxojrFUqmm1/+o82KKU6ezAyTZqF87GtaE=; b=DeWiX8eU82Umq7mtsaHK/yQus2p3HP1Wmse9b4o/2KGsIda8zlELVTUL1JusKtqK04 f61JPKBj6Nk0C/SZXzU8z51MOk5wMV/DdGWXKnrK/syhhOUhitgAOhtZ2ZNaC3DI7bw3 FKhD3HU/kzJKPpUrrTjMQUW1O5M3Kr+tRrhOY1KUYoKYmrJSphlljB2TTbeFpMxLRpP6 UPFg3GChJCFhXJNn2aEGtzzWrUQRQp4dWsAu8QOsZvFbR/AzbWHUR/Yf02jl6uUNJlLg TmdCL+J4GyzkdC0JKyNPhFfNxQAfaFovVb6Vmo+adhW8DRYB3XA6fc1mKydC6BkSr+2T Yg6A== X-Gm-Message-State: ACrzQf2LI7kP69yrXiKSTOS33pCfiKv+6L4nVdgoECwjcuhxd3RMZfe0 Cn7XY97e9bzMmg1G0IMjY+4Pi2rmFx+ZZi4q/e6ke95+oTc= X-Google-Smtp-Source: AMsMyM78atLQc5bTNBgtPtnpiYw3Hpi9W2KQnd9d7YbGvDov1GiPIKuYPlT5RToKg9ap3rC7wZM3iRaizRnx6+Hc7RM= X-Received: by 2002:a81:6143:0:b0:335:3076:168e with SMTP id v64-20020a816143000000b003353076168emr49186833ywb.460.1667856412320; Mon, 07 Nov 2022 13:26:52 -0800 (PST) MIME-Version: 1.0 References: <9bc02014-76ca-b2c0-5f7c-284b90884225@eastlink.ca> In-Reply-To: <9bc02014-76ca-b2c0-5f7c-284b90884225@eastlink.ca> From: Roman Perepelitsa Date: Mon, 7 Nov 2022 22:26:40 +0100 Message-ID: Subject: Re: [[ 'abcde' =~ (#i)Bcd ]] To: Ray Andrews Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 28326 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: On Mon, Nov 7, 2022 at 10:11 PM Ray Andrews wrote: > > > [[ 'abcde' =~ 'bcd' ]] && echo match1 > [[ 'abcde' = (#i)ABcde ]] && echo match2 > [[ 'abcde' =~ (#i)Bcd ]] && echo match3 > [[ 'bcd' =~ 'abcde' ]] && echo match4 > > ... I get match 1 and match 2. I understand not getting match 4 > because '=~' is not bi-directional, the latter value must be a subset of > the former. But why don't I get match 3? Does it surprise you that this also doesn't match? [[ 'a' =~ (#i)A ]] (#i) only works with pattern matching. For regex the easiest workaround is to convert left-hand-side to lowercase: foo=XaBcX [[ ${(L)foo} =~ abc ]] && echo match Another option is to use zsh/pcre module. See https://zsh.sourceforge.io/Doc/Release/Zsh-Modules.html#The-zsh_002fpcre-Module. In this specific case it's better to use pattern matching of course: [[ $foo == (#i)*abc* ]] && echo match I find it extremely rare in practice that I need a regex match in zsh. Roman.