From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: regexp newline issue Date: Tue, 29 Nov 2005 11:23:48 -0700 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1133289127 22216 80.91.229.2 (29 Nov 2005 18:32:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 29 Nov 2005 18:32:07 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Nov 29 19:31:59 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EhAGf-00088P-CK for geh-help-gnu-emacs@m.gmane.org; Tue, 29 Nov 2005 19:31:54 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EhAGW-0006KB-CP for geh-help-gnu-emacs@m.gmane.org; Tue, 29 Nov 2005 13:31:44 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EhAFf-0005q8-Bn for help-gnu-emacs@gnu.org; Tue, 29 Nov 2005 13:30:51 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EhAFc-0005n6-RH for help-gnu-emacs@gnu.org; Tue, 29 Nov 2005 13:30:50 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EhAFc-0005mb-J2 for help-gnu-emacs@gnu.org; Tue, 29 Nov 2005 13:30:48 -0500 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1EhAFc-0002x5-13 for help-gnu-emacs@gnu.org; Tue, 29 Nov 2005 13:30:48 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1EhA9W-0004Io-9R for help-gnu-emacs@gnu.org; Tue, 29 Nov 2005 19:24:30 +0100 Original-Received: from 207.167.42.60 ([207.167.42.60]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2005 19:24:30 +0100 Original-Received: from ihs_4664 by 207.167.42.60 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2005 19:24:30 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: help-gnu-emacs@gnu.org Original-Lines: 48 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 207.167.42.60 User-Agent: Mozilla Thunderbird 0.9 (X11/20041105) X-Accept-Language: en-us, en In-Reply-To: X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:31500 Archived-At: Christopher C. Stacy wrote: > I want to search for a string like "foo bar", > but there might be whitespace (even newlines) > between any of the characters. > > Given the string "foo bar", I tried constructing a regexp by > > (replace-regexp-in-string "\\(.\\)" > "[\040\011\012\015]*\\1" > "foo bar") > > but that doesn't quite do it. > > By the way, I originally tried whitespace syntax "\\s-" > rather than character alternatives, but that seemed to > work even less well. Also, I am using an older emacs > that does not seem to have the named character classes. The whitespace syntax class depends on the current syntax table, which is specific to the buffer's major mode (and can even be overridden by text properties in the buffer). BTW, I think this is more readable than the octal notation: "[ \t\n\r]" > In particular, the above [tab,LF,CR] hack finds #1 and #3, > but not #2, in the following examples: > > ---------- > > 1. foo bar > > 2. foo > bar > > -or- > > 3. fo > o ba > r > ---------- That's because the regexp you generate requires each of the characters in the string to be present, including the space between the second "o" and "b". As John Paul Wellington showed, you should ignore the whitespace characters in the string when generating the regexp. -- Kevin Rodgers