Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #15791
| Message-ID | <3457030.NDG8SBlVoo@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2012-09-08 09:34 +0200 |
| Subject | Re: regexp help |
| Newsgroups | comp.lang.javascript |
| References | <fqydnZxNJ4Gw59TNnZ2dnUVZ_sidnZ2d@westnet.com.au> <aatr4mFvsbU1@mid.uni-berlin.de> <1492793.DGNhQbDWfW@PointedEars.de> <0JWdnZHHxY1_DdfNnZ2dnUVZ_vednZ2d@westnet.com.au> |
| Followup-To | comp.lang.javascript |
Followups directed to: comp.lang.javascript
Andrew Poulos wrote:
> On 7/09/2012 11:36 PM, Thomas 'PointedEars' Lahn wrote:
>> Jake Jarvis wrote:
>>> On 07.09.2012 06:37, wrote Andrew Poulos:
>>>> I have a string
>>>> var str = 'This is some text.';
>>>>
>>>> Within that string I need to find whether a whole word exists. The test
>>>> is to be case insensitive. The word to test for is held in the var 'k'.
>>>>
>>>> When I try this:
>>>>
>>>> var k = 'SOME';
>>>> var myRe = new RegExp("b" + k + "b", "i");
>>>> var found = myRe.test(str);
>>>>
>>>> I expected 'found' to return true. What am I doing wrong?
>>>
>>> You are not escaping the two 'b' characters.
>>>
>>> There are 2 levels here: the level of the regular expression in which
>>> you want '\b', and the level of the pattern string in which you need
>>> '\\b', because strings have their own escape rules which apply first and
>>> under those '\b' means "backspace character", whereas '\\b' means
>>> "backslash b".
>>
>> In addition, \b is not sufficient in most cases as it matches a boundary
>> between a "word character" and "not-a-word-character". Word characters
>> are those matched by `\w', which in turn is defined as the equivalent of
>> [0-9A-Za-z_]. Non-ASCII letters are not included. Even basically
>> English text can contain non-ASCII characters (borrowed from or written
>> in other languages):
>
> Hmm, that means that common apostrophe'd words such as "don't" or
> "Andrew's" would not be matched.
Why don't you try? They would:
\b d o n \b ' \b t \b
| | | | | | |
\b d o n ' t \b
The problem is here, for example:
\b B a h n \b ü \b b e r g a n g \b ("railroad crossing" in German)
| | | | | |
\b B a h n \b ("railroad" in German)
> BTW is "don't" considered a single word?
That depends on how you define a word. With the native \w+: No, because it
contains one character that is not a word character, it would be considered
two words, and there would be two matches with /\w+/g.
>> <http://stackoverflow.com/questions/1015844/how-to-remove-all-characters-
>> from-a-string/8568325#8568325> f.
>>
>> Which gives me the idea that a Unicode mode for jsx.regexp.RegExp() to
>> replace \b, \w and \W – in addition to or using the already implemented
>> Unicode character properties (\p{Lu} et al.) – would come in handy.
>> Comments anyone?
>
> I understand what you're suggesting but I don't know enough about the
> topic to make suggestions.
IOW, would you find it useful to match words containing non-ASCII letters
with `new jsx.regexp.RegExp("\\w+", "u")'?
PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
regexp help Andrew Poulos <ap_prog@hotmail.com> - 2012-09-07 14:37 +1000
Re: regexp help Jake Jarvis <pig_in_shoes@yahoo.com> - 2012-09-07 10:55 +0200
Re: regexp help Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-07 15:36 +0200
Re: regexp help Andrew Poulos <ap_prog@hotmail.com> - 2012-09-08 10:27 +1000
Re: regexp help Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-08 09:34 +0200
Re: regexp help "Scott Sauyet" <3103invalid@webnews.fastusenet.org> - 2012-09-11 16:51 +0000
Re: regexp help Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-11 22:31 +0200
Re: regexp help "Scott Sauyet" <3103invalid@webnews.fastusenet.org> - 2012-09-19 11:56 +0000
Re: regexp help Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-19 18:51 +0200
Re: regexp help Scott Sauyet <scott.sauyet@gmail.com> - 2012-09-19 12:52 -0700
Re: regexp help Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-20 02:13 +0200
Re: regexp help Scott Sauyet <scott.sauyet@gmail.com> - 2012-09-20 06:51 -0700
Re: regexp help Dr J R Stockton <reply1237@merlyn.demon.co.uk.invalid> - 2012-09-20 20:23 +0100
Re: regexp help "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2012-09-11 14:55 -0700
csiph-web