Вопрос № 35436: Здравствуйте уважаемые экперты!
Подскажите плиз как с помощью
регулярного выражения (в нотации perl) задать условие "И".
Условие "ИЛИ" задается легко - |.
Необходимо выполнять некоторые действия
с текстом, ес...
Вопрос № 35.436
Здравствуйте уважаемые экперты!
Подскажите плиз как с помощью
регулярного выражения (в нотации perl) задать условие "И".
Условие "ИЛИ" задается легко - |.
Необходимо выполнять некоторые действия
с текстом, если в нем присутствуют две или более
заранее заданные и отличные друг от друга
последовательности символов
(символы любые из 256) одновременно.
Как записать такое рег-выражение?
Спасибо за ответы.
Отправлен: 14.02.2006, 20:38
Вопрос задал: 1556 (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Muad Dib
Здравствуйте, 1556
Используйте скобки для разграничения последовательностей символов. В скобках можно задавать варианты каждой последовательности с помощью | и не нада никаких дополнительных символов для обозначения И - оно подразумевается по-умолчанию.
Ответ отправил: Muad Dib (статус: 3-ий класс)
Отправлен: 14.02.2006, 22:29 Оценка за ответ: 5 Комментарий оценки: Спасибо испытаю.
Отвечает: Лучников Юрий Владимирович
Здравствуйте, 1556!
А что вам мешает записать условие как ($str=~m/[a-f]+/) && ($str=~m/[A-F]+/).
Тем самым все выражение вернет истину только в том случае, если в $str содержится любой символ из диапазона a-f И A-F.
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 14.02.2006, 22:47 Оценка за ответ: 5 Комментарий оценки: Спасибо конечно за ответ. Но я же написал, что "заранее заданные и отличные друг от друга последовательности символов". "(символы любые из 256)" - означает, что вообщем в этих последовательностях могут быть любые байты, но в каждом конкретном случае - это ЗАРАНЕЕ ЗАДАННЫЕ последовательности, например, "index=",
"screen==" и т.д. Про && это известно. Интересуют именно регвыражения, а не логические операции.