![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2009
Адрес: Северный островок дефолт-сити
Сообщений: 144
|
День добрый. Читаю регулярные выражения в as3.0 и столкнулся со след проблемой:
//var example:RegExp = /\b(.){3}\b/g; var example:RegExp = /\b...\b/g; var target:String = "В этой строке есть два two слова по три tri буквы"; var result:Array = new Array(); while ((result = example.exec(target)) != null) { trace(result.index) trace(result); } Но русские слова длиной 3 символа не находит. При этом нормально находит "два" В чём проблема? Он с кириллицей не до конца что-ли дружит? |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Символы, не являющиеся символами английского языка, не считаются словесными.
Цитата:
|
|
|||||
|
Modus ponens
|
Ну, так, разве что:
var example:RegExp = /(?<![\w\u0410-\u0451])[\w\u0410-\u0451]{3}(?![\w\u0410-\u0451])/g; var target:String = "В этой строке есть два two слова по три tri буквы"; var result:Array = []; trace(target.match(example)); while ((result = example.exec(target)) != null) { trace(result.index) trace(result); }
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2009
Адрес: Северный островок дефолт-сити
Сообщений: 144
|
Спасибо за ответы =)
wvxvw, оО. приду с инста, разберусь что там за выражение, так сразу не пойму (ну только догадываюсь). А вообще пока сделал через \s...\s, только если ищешь несколько слов, то надо следить за индексами. И \s кажись ещё не только пробелы обозначает. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 78
|
А как быть с вики ссылкой в которой могут быть любые буквы(как минимум русские или английские)?
var example:RegExp = /\[(\w+)\s(\w+)\]/g; var target:String = "Ссылка [linkId Wikipedia], ссылка с русскими буквам[linkId Википедия]вот."; var result:Array = []; trace(target.match(example)); // [linkId Wikipedia] while ((result = example.exec(target)) != null) { trace(result.index) trace(result); } Есть ли универсальный способ? Или писать ИЛИ на каждый язык? |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|