Nasıl bir normal ifadede iki kelimeden birini maç?

4 Cevap php

Ben bir regex @ veya 'da' ya maç istiyorum. Birisi yardım edebilir mi? Ben kullanarak denediniz mi? operatör? (at)? @ / bana veriyorsun / ama işe yaramadı

4 Cevap

Deneyin:

/(@|at)/

Bu da demektir @ veya at ikisini birden değil. Ayrıca bir grup esir, o yüzden isterseniz daha sonra geribaşvuru aracılığıyla tam bir eşleşme erişebilirsiniz.

/(?:@|at)/

mmyers 'cevabı bir paren yakalama yapacak; benimki olmaz. Hangisini kullanmak gerektiğini size parantez yakalama istediğinize bağlıdır.

Bu yakalamak istediğiniz sadece 2 şey, gerek regex ise

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

Eğer denedi

@|at

O aşağıdaki metni (. NET regex lezzet) için çalışıyor

johnsmith@gmail.com johnsmithatgmail.com