Регулярное выражение находит слово внутри строки

#php #regex

#php #регулярное выражение

Вопрос:

Я пробовал ^nameamp; , но это не работает. Как я могу найти имя внутри hello-my-name-is

Комментарии:

1. Проверьте regular-expressions.info чтобы изучить основы. Чтобы решить вашу реальную проблему, вам может потребоваться уточнить контекст и показать реальные данные / входные данные и то, что вы хотите получить.

Ответ №1:

/.name./ Две точки указывают, что с каждой стороны есть по крайней мере один символ.

Комментарии:

1. Старый вопрос, но не должно ли . совпадать с одним или несколькими символами?

Ответ №2:

Я думаю, что вы ищете либо /name/ , либо /bnameb/ . b является индикатором границы слова. Смотрите этот документ для получения дополнительной информации: http://www.regular-expressions.info/wordboundaries.html

Причина, по которой ^name$ поиск в строке не дает никаких результатов, "hello-my-name-is" заключается в том, что символ ^ привязывает поиск к началу строки. Аналогично $ привязывает поиск к концу. Например:

  • ^name работает, только если строка начинается с "name" , например "name is cool"
  • name$ работает, только если строка заканчивается на "name" , например "where is name"

Для получения дополнительной информации об якорях смотрите эту страницу: http://www.regular-expressions.info/anchors.html

Комментарии:

1. amp; это не конец строки — вам понадобится $ для этого.

2. Ничто из этого не помогает мне

3. @AndyMaccarther возможно, вы захотите поделиться кодом, который вы используете для поиска строки, чтобы мы могли помочь вам лучше.

4. @AndyMaccarther .* означает найти 0 или более символов, за которыми следует product_detail , за которым следует s* = 0 или более s , а затем следует любой символ. Я думаю, вы имели в виду .*product_details.*

Ответ №3:

/name/ кажется, здесь все работает хорошо.

 $str = "hello-my-name-is";
$str1 = preg_match("/name/", $str);
echo $str . " => " . $str1;
  

Результат таков —

 hello-my-name-is => 1
  

Означает, что оно нашло name подстрочную строку, и она появилась 1 раз.

Комментарии:

1. Извините, это не для PHP, это для чего-то, что использует REGEX как я могу это сделать с помощью regex?

2. @AndyMaccarther вы отметили свой вопрос php . Если это не для php, то вы можете захотеть удалить php тег.

3. @AndyMaccarthur, регулярное выражение должно быть реализовано на каком-то языке.. Вы не можете просто записать его где угодно .. мой пример показывает использование с использованием PHP, должно работать с любым другим языком..