Я хочу сопоставить либо @, либо 'at' в регулярном выражении. Может кто-нибудь помочь? Я попытался использовать? оператор, дающий мне / @? (at)? / но это не сработало
Пытаться:
/(@|at)/
Это означает либо @
либо не для обоих. Он также фиксируется в группе, поэтому вы можете позже получить доступ к точному совпадению с помощью обратной ссылки, если хотите.
/(?:@|at)/
ответ mmyers будет выполнять захват паз; мой не будет. Что вы должны использовать, зависит от того, хотите ли вы захватить пар.
если это всего лишь 2 вещи, которые вы хотите захватить, нет необходимости в регулярном выражении
if ( strpos($string,"@")!==FALSE || strpos($string,"at") !==FALSE ) { # do your thing }
ты пробовал
@|at
который работает (в выражении регулярного выражения .NET) следующий текст
johnsmith@gmail.com johnsmithatgmail.com