RegEx соответствует всему миру или начинается со слова и / или заканчивается другим словом

Я надеюсь, что кто-то может помочь с RegEx, который будет соответствовать следующему: —

  • местонахождение
  • Местонахождение
  • LocalityName
  • LOCALITY_NAME
  • локальность имя
  • пригород
  • предместья
  • SuburbName
  • suburb_name
  • Пригород имя

Но будет НЕ соответствует: —

  • locality_pid
  • locality_index
  • LocalityRef
  • street_locality_pid
  • street_suburb_pid

RegEx, который я сейчас использую: —

/^(locality|suburb)(?=.*name).*$/img

Совпадает со всеми, кроме точных слов «местность» и «пригород»

1

Решение

Вы можете попробовать это:

'/^(?:locality|suburb)(?:(?:-|_)?name)?$/im'

объяснение

Образец кода:

<?php

$re = '/^(?:locality|suburb)(?:(?:-|_)?name)?$/im';
$str = 'locality
Locality
LocalityName
locality_name
locality-name
suburb
Suburb
SuburbName
suburb_name
suburb-name
locality_pid
locality_index
LocalityRef
street_locality_pid
street_suburb_pid
';

preg_match_all($re, $str, $matches);

// Print the entire match result
print_r($matches);

?>

Беги сюда

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector