![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
как с помощью RegExp - получить массив слов?
например есть строка вида: Цитата:
Цитата:
- ограниченные пробелами, - ограниченные справа знаками ) - ограниченные слева знаком ( - ограниченные с любой стороны знаком <,>,=,! - сами знаки <,>,==,!=,<=,>=, причем <= выделяется как <=, а не <,=. Не дружу я пока с этими регулярками, голову уже сломал совсем ![]() ну или хотя бы как простейший ignoreWhite сделать? типа сократить все пробелы длиной больше 1 до 1, и удалить пробелы в конце и начале?
__________________
Отряд Котовскага |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Пробелы))
private static const DOUBLE_SPACE_RX:RegExp = /\s+/g; private static const ENTER_SPACE_RX :RegExp = /^\s+/g; ... _text = _text.replace(DOUBLE_SPACE_RX, " "); _text = _text.replace(ENTER_SPACE_RX, ""); Для первого выражения подойдет такой ход Но не знаю, как он отразится на других Ваших выражениях))
__________________
Reality.getBounds(this); |
|
|||||
|
Modus ponens
|
А остальное - похоже хочешь написать эвалюатор все-таки
Делать это регекспом занятие неблагодарное. Лучше switch и по буковке проверять, иначе умаешься, да и нееффективно будет.Это, выражаясь умными словами Regexp - это не тюринг-полный язык, поэтому некоторые задачи решать с его помощью сложно вплоть до невозможно. @Wolsh \w включает в себя цифры тоже ![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 10.02.2010 в 20:02. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
))) Точно. Ну можно сократить вот так -
Только не знаю Ваше отношение к точке, разделяющей слова, вроде this.parent )))
__________________
Reality.getBounds(this); |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Точка не разделитель.
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Да написал уже) кроме того есть уже парсер xml, теперь вот еще хочу ECMAScript - подобный парсер одолеть, тут без regexp сложновато, просто я до вчерашнего дня регулярки вообще не знал и не использовал нигде)
а насчёт тюринг-полноты.. Сами регэкспы неполны, но Regexp+ replace/match итп, очень даже.. etc,Wolsh,wvxvw - спасибо, буду втыкать дальше.. Добавлено через 19 минут Цитата:
тут у вас ошибка или я что-то недопонял? ЗЫ.. понял) нужно было экранировать /, ну мне эти операции (-,+,*,/) пока ни к чему, нужны только отношения.. причем надо чтоб "-80" - одной строкой В общем получилось так:
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 11.02.2010 в 10:12. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:28. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|