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

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

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



Новичок
*

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




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

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

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

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

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

но почему-то ИЛИ (|) не могу заставить работать. Когда убираешь что то одно все работает, подскажите пожалуйста
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

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




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 552




Цитата (Fros @ 6.06.2012 - 22:32)
но почему-то ИЛИ (|) не могу заставить работать.

Во первых ты не правильно указываешь ИЛИ
Во вторых почему бы просто не написать?
"# Фамилия\s*=\"(.*)\"\s*Имя#Ui"
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Fros  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




Цитата (Winston @ 6.06.2012 - 19:37)
Цитата (Fros @ 6.06.2012 - 22:32)
но почему-то ИЛИ (|) не могу заставить работать.

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

Это конечно рабочий вариант, но хотелось бы использовать именно ИЛИ. Подскажи пожалуйста в чем ошибка.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

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




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 552




Цитата (Fros @ 6.06.2012 - 22:39)
но хотелось бы использовать именно ИЛИ.

Вот так
Цитата
"#<(?:ФИОФЛ|ФИО)\s*Фамилия\s*=\"(.*)\"\s*Имя#i"
PMСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Fros  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




Цитата (Winston @ 6.06.2012 - 19:46)
Цитата (Fros @ 6.06.2012 - 22:39)
но хотелось бы использовать именно ИЛИ.

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

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

Это сообщение отредактировал Fros - 6.06.2012 - 23:55
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

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




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 16 дней
Карма: 552




http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%....BF.D0.BF.D1.8B
"Группировка без обратной связи"
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Fros  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




Цитата (Winston @ 6.06.2012 - 19:58)
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%....BF.D0.BF.D1.8B
"Группировка без обратной связи"

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

Это сообщение отредактировал Fros - 7.06.2012 - 00:02
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

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



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8739
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 8 дней
Карма: 591




Fros
зачем тут ИЛИ?
'#<ФИО(?:ФЛ)?\s*Фамилия\s*="(.*)"\s*Имя#i'
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Fros  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

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




Цитата (killer8080 @ 6.06.2012 - 20:36)
Fros
зачем тут ИЛИ?
'#<ФИО(?:ФЛ)?\s*Фамилия\s*="(.*)"\s*Имя#i'

То же вариант спасибо, но надо было с ИЛИ, т.к. встречаются еще варианты кроме ФИО и ФИОФЛ
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

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