Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> php регулярные выражения логическое ИЛИ
Fros  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 23
Пользователь №: 21632
На форуме: 14 лет, 11 месяцев, 16 дней
Карма:




Всем привет, не могу заставить работать ИЛИ (|):

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

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

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

"#<{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'

То же вариант спасибо, но надо было с ИЛИ, т.к. встречаются еще варианты кроме ФИО и ФИОФЛ
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса