Intereting Posts

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

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

Пытаться:

/(@|at)/ 

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

 /(?:@|at)/ 

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

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

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

ты пробовал

 @|at 

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

johnsmith@gmail.com johnsmithatgmail.com