Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to ignore acute accent in a javascript regex match?

Tags:

I need to match a word like 'César' for a regex like this /^cesar/i.

Is there an option like /i to configure the regex so it ignores the acute accents?. Or the only solution is to use a regex like this /^césar/i.

like image 271
sanrodari Avatar asked Jun 15 '12 16:06

sanrodari


People also ask

What does regex (? S match?

i) makes the regex case insensitive. (? s) for "single line mode" makes the dot match all characters, including line breaks.

Is JavaScript regex case sensitive?

Regular expression, or simply RegEx JavaScript allows you to write specific search patterns. You can also make the search case-sensitive or insensitive, search for a single JavaScript RegEx match or multiple, look for characters at the beginning or the end of a word.


1 Answers

The standard ecmascript regex isn't ready for unicode (see http://blog.stevenlevithan.com/archives/javascript-regex-and-unicode).

So you have to use an external regex library. I used this one (with the unicode plugin) in the past : http://xregexp.com/

In your case, you may have to escape the char é as \u00E9 and defining a range englobing e, é, ê, etc.

EDIT : I just saw the comment of Alex : you'll find inside the range for the accented equivalent of e.

like image 191
Denys Séguret Avatar answered Sep 22 '22 05:09

Denys Séguret