Подтвердить что ты не робот

Как вы соответствуете одному из двух слов в регулярном выражении?

Я хочу сопоставить либо @, либо 'at' в регулярном выражении. Может кто-нибудь помочь? Я попытался использовать? оператор, дающий мне /@? (at)?/но это не сработало

4b9b3361

Ответ 1

Try:

/(@|at)/

Это означает либо @, либо at, но не оба. Он также записывается в группу, поэтому вы можете позже получить доступ к точному совпадению с помощью обратной ссылки, если хотите.

Ответ 2

/(?:@|at)/
Ответ

mmyers будет выполнять захват паз; мой не будет. Что вы должны использовать, зависит от того, хотите ли вы захватить пар.

Ответ 3

если только 2 вещи, которые вы хотите захватить, нет необходимости в регулярном выражении

if ( strpos($string,"@")!==FALSE || strpos($string,"at") !==FALSE ) {
  # do your thing
}

Ответ 4

Вы пробовали

@|at

который работает (в выражении регулярного выражения .NET) следующий текст

[email protected] johnsmithatgmail.com