From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: [External] : Re: query-replace-regexp on a string with '=' sign Date: Sun, 18 Sep 2022 17:24:32 +0200 Message-ID: <87r108zowf.fsf@dataswamp.org> References: <87k06e477o.fsf@codeisgreat.org> <87zgfachuf.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38640"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:6Yp2rKWfHVxekViFMDYQ5+9sWIo= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Sep 22 15:15:56 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1obM3Y-0009rI-5I for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 22 Sep 2022 15:15:56 +0200 Original-Received: from localhost ([::1]:38388 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1obM3X-0004Gz-4I for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 22 Sep 2022 09:15:55 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36672) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZwA1-0008Ts-80 for help-gnu-emacs@gnu.org; Sun, 18 Sep 2022 11:24:45 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:49652) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oZw9z-0002J7-94 for help-gnu-emacs@gnu.org; Sun, 18 Sep 2022 11:24:44 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oZw9w-0005Fw-3Q for help-gnu-emacs@gnu.org; Sun, 18 Sep 2022 17:24:40 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 22 Sep 2022 08:40:18 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:139602 Archived-At: Drew Adams wrote: >>> HELLO=WORLD >>> I want to downcase the part before the equal (=) sign. >> >> (while (re-search-forward "\\(.+\\)\\(=\\)" nil t)... > > In most cases you don't want the first group to match any > `=' chars, in which case it should be something like > \([^=]+\). I don't know why mine works, why not everything including the equals sign _and_ the part after that ends up in the first group? But it does work, while replacing the RE with "\\([^=]+\\)\\(=\\)" doesn't, it downcases the whole thing. Here, try it yourself: (while (re-search-forward "\\(.+\\)\\(=\\)" nil t) (replace-match (concat (downcase (match-string-no-properties 1)) (match-string-no-properties 2) ) t)) ;; We=WE ;; Are=ARE ;; Robots=ROBOTS -- underground experts united https://dataswamp.org/~incal