| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Регулярное выражение |
| Автор: rcdimon 29.3.2008, 10:47 |
| Всем привет. В регулярных выражениях есть возможность задавать условия. Например например выражение, которое мы хотим найти находится либо в скобках, либо это слово. Пример: (Operand1 + Operand2) или Operand1 (\()? - ищет необязательную открывающую скобку. Теперь если она есть- надо считать все до закрывающей. Если ее нет- просто считать слово. Задаем условие на наличие первого совпадения, Если оно было- ищем до скобки. Иначе все слово. Регулярка для этого приведена ниже (\()?(?(1)(.+)\)|(\w+)) Так собственно в чем вопрос- я написал регулярку с использованием условий... Но в JS она не работает... ругается на '(?('.. Что в регулярках JS ваще нет условий или может они просто записыываются как-то иначе? |
| Автор: ksnk 29.3.2008, 11:35 |
| А что должна делать вот эта конструкция? ?(1) |
| Автор: rcdimon 29.3.2008, 11:47 |
| ?(1) Условие. Проверяет существование 1- того что в первой скобке \( То, что следует после условия- выполняется если оно истино... все что после | выполняется если условие ложно |
| Автор: AKS 29.3.2008, 13:44 |
| rcdimon, видимо некие злоумышленники ввели Вас в заблуждение. ;) В js-диалекте регулярных выражений нет условных конструкций. |
| Автор: rcdimon 29.3.2008, 13:53 |
| Мдя... Ужасно |
| Автор: Itsys 29.3.2008, 14:13 | ||
А чем не устраивате такая конструкция:
|