Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!goblin3!goblin.stu.neva.ru!exi-transit.telstra.net!news.telstra.net!exi-spool.telstra.net!exi-reader.telstra.net!not-for-mail Date: Mon, 06 Jun 2011 20:18:24 +1000 From: Esmond Pitt Reply-To: not.esmond.pitt@not.bigpond.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 Newsgroups: comp.lang.java.programmer Subject: Re: Confusion about String.matches method References: <50016a00-9422-46d4-8278-619fedafff55@c41g2000yqm.googlegroups.com> <2fd869d6-c2f6-4360-85b4-6df2b6e68fb0@p13g2000yqh.googlegroups.com> <94n2jpFa1oU1@mid.individual.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 27 Message-ID: <4deca972$0$12380$c30e37c6@exi-reader.telstra.net> NNTP-Posting-Host: 120.151.14.51 X-Trace: 1307355506 exi-reader.telstra.net 12380 120.151.14.51:32778 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:5010 On 6/06/2011 5:50 PM, Roedy Green wrote: > On Wed, 01 Jun 2011 16:02:16 +0100, Nigel Wade > wrote, quoted or indirectly quoted someone who said : > >> So, to get your '\\n' in the RE you need to >> have '\\\\n' in the string. > > Oops. No 'oops' about it. The poster is correct. > If you are trying to match a eol char in a regex the two chars in ram > will be \ n > > If you are creating a string literal it will be "\\n" And if you are creating a regex it will be "\\\\n". > The extra \ is to tell Java this is not a Java literal. And the doubled \\ are there to tell the regex this is a backslashed backslash, i.e. a real backslash, not a regex escape. > The easy way to create these strings is to use Quoter. I don't see how any piece of software can understand whether a quoted string is for use in a regular expression or not.