Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Странно работает регулярное выражение (http://www.flasher.ru/forum/showthread.php?t=212947)

grafillo! 01.06.2016 17:17

Странно работает регулярное выражение
 
У меня два вопроса по работе регулярного выражения
1 Как правильно написать регулярное выражение для поиска ссылок на сайты в строке,
я написал так:
Код AS3:

var URLreg:RegExp = /www||http||\.ru||\.com/g;

но почемуто не работает
2 Есть текст ареа в которое вводится текст в этом тексте с помощью регулярного выражения надо найти символы, почемуто оно работает через раз, один раз нажимаем он находит второй раз нажимаем тот же текст он не находит, почему так происходит?
Код AS3:

var regular:RegExp = /([A-z][А-яЁё])|([А-яЁё][A-z])/g;// англ руск
butA.addEventListener(MouseEvent.CLICK, openDialogWindow);
function openDialogWindow(e:Event) {
 
          if(regular.test(textA.text)==true){
                  trace("нашлося");
                  }
        trace(1);
 
        }

то есть в одном и том же тексте один раз он выводит: нашёлся 1
второй раз просто 1

caseyryan 01.06.2016 18:43

1) Вообще какая-то фигня непонятная. Есть же готовые паттерны уже, зачем изобретать велосипед?
2) Регулярки не понимают русский язык. Нужно указывать числовые диапазоны юникода, вместо русских букв

Dron1564 02.06.2016 17:25

Где, где, а во флеше RegExp прекрасно работает( в том числе и с русскими буквами ):

Код AS3:

var st:String = "Шла саша по шоссеё http://шоссеё13.рф"
trace( st.match(/https?:\/\/[A-Za-zА-Яа-я0-9_ёЁ]+(\.(рф|com|ru|org))/g) ); //trace http://шоссеё13.рф

А у автора поста, просто ошибок в паттернах больше чем букв в этих самых парттернах :)


Часовой пояс GMT +4, время: 11:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.