1

как указать, что совпадение необходимо искать именно с начала строки?

например, искомое значение hello. как сделать так, чтоб world, hello НЕ соответствовало поиску, а hello world соответствовало?

просто регулярному выражению /hello/ соответствуют обе строки, а нужно, чтоб только вторая

fu22ybear
  • 121
  • 1
    https://ru.wikipedia.org/wiki/%D0%E5%E3%F3%EB%FF%F0%ED%FB%E5_%E2%FB%F0%E0%E6%E5%ED%E8%FF#.D0.9F.D0.BE.D0.B7.D0.B8.D1.86.D0.B8.D1.8F_.D0.B2.D0.BD.D1.83.D1.82.D1.80.D0.B8_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8 – Visman May 21 '17 at 16:47

1 Answers1

0

В регулярных выражениях существует несколько способов указания начала строки:

^

Данный неэкранированный "циркумфлекс", не находящийся сразу после неэкранированной открывающей квадратной скобки [, находит начало текста (string).

Однако в Ruby ^ находит только начало строки (line). Для нахождения начала всего текста, необходимо использовать

\A

Этот якорь можно использовать и в других языках/библиотеках регулярных выражений: в .NET, Python (re, regex), PHP (PCRE), Java, Swift/Objective-C (ICU).

Кстати, в текстовых редакторах, таких как Notepad++, ^ тоже использутеся для нахождения начала строки (line), а не всего текста.

Не путайте якорь ^ с другими функциями данного символа. См.