[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php регулярные выражения логическое ИЛИ
Fros
Всем привет, не могу заставить работать ИЛИ (|):

Встречаются вот таких два варианта:

<ФИОФЛ Фамилия="Иванов" Имя="Иван" Отчество="Иванович"/>
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович"/>

Надо узнать только фамилию, написал вот такое регулярное выражение:

"#<{1}ФИО|ФИОФЛ\s*Фамилия\s*=\"(.*)\"\s*Имя#Ui"

но почему-то ИЛИ (|) не могу заставить работать. Когда убираешь что то одно все работает, подскажите пожалуйста



Спустя 4 минуты, 40 секунд (6.06.2012 - 22:37) Winston написал(а):
Цитата (Fros @ 6.06.2012 - 22:32)
но почему-то ИЛИ (|) не могу заставить работать.

Во первых ты не правильно указываешь ИЛИ
Во вторых почему бы просто не написать?
"# Фамилия\s*=\"(.*)\"\s*Имя#Ui"

Спустя 2 минуты, 38 секунд (6.06.2012 - 22:39) Fros написал(а):
Цитата (Winston @ 6.06.2012 - 19:37)
Цитата (Fros @ 6.06.2012 - 22:32)
но почему-то ИЛИ (|) не могу заставить работать.

Во первых ты не правильно указываешь ИЛИ
Во вторых почему бы просто не написать?
"# Фамилия\s*=\"(.*)\"\s*Имя#Ui"

Это конечно рабочий вариант, но хотелось бы использовать именно ИЛИ. Подскажи пожалуйста в чем ошибка.

Спустя 6 минут, 21 секунда (6.06.2012 - 22:46) Winston написал(а):
Цитата (Fros @ 6.06.2012 - 22:39)
но хотелось бы использовать именно ИЛИ.

Вот так
Цитата
"#<(?:ФИОФЛ|ФИО)\s*Фамилия\s*=\"(.*)\"\s*Имя#i"

Спустя 9 минут, 16 секунд (6.06.2012 - 22:55) Fros написал(а):
Цитата (Winston @ 6.06.2012 - 19:46)
Цитата (Fros @ 6.06.2012 - 22:39)
но хотелось бы использовать именно ИЛИ.

Вот так
Цитата
"#<(?:ФИОФЛ|ФИО)\s*Фамилия\s*=\"(.*)\"\s*Имя#i"

Спасибо большое все заработало. А что это за комбинация такая ?:, найти нигде не могу описание, отдельно ? есть, а : нет нигде?

Спустя 2 минуты, 45 секунд (6.06.2012 - 22:58) Winston написал(а):
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%....BF.D0.BF.D1.8B
"Группировка без обратной связи"

Спустя 2 минуты, 12 секунд (6.06.2012 - 23:00) Fros написал(а):
Цитата (Winston @ 6.06.2012 - 19:58)
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%....BF.D0.BF.D1.8B
"Группировка без обратной связи"

Еще раз спасибо, плюсик тебе поставил )))

Спустя 36 минут, 23 секунды (6.06.2012 - 23:36) killer8080 написал(а):
Fros
зачем тут ИЛИ?
'#<ФИО(?:ФЛ)?\s*Фамилия\s*="(.*)"\s*Имя#i'

Спустя 11 часов, 1 минута, 50 секунд (7.06.2012 - 10:38) Fros написал(а):
Цитата (killer8080 @ 6.06.2012 - 20:36)
Fros
зачем тут ИЛИ?
'#<ФИО(?:ФЛ)?\s*Фамилия\s*="(.*)"\s*Имя#i'

То же вариант спасибо, но надо было с ИЛИ, т.к. встречаются еще варианты кроме ФИО и ФИОФЛ
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.