Как искать в строке шаблон в JavaScript?

Создайте веб-приложение с помощью современного JavaScript и веб-компонентов Программирование и разработка

В этой статье мы увидим, как искать шаблон в строке в JavaScript. Мы будем использовать следующие методы для поиска строки:

Подход 1

Здесь мы узнаем, как искать строку, которая включает в себя заданный шаблон в JavaScript. Метод string.search () — это встроенный метод в JavaScript, который используется для этой цели. Он ищет совпадения между регулярными выражениями в заданной строке.

Синтаксис:

let position = str.search( expression )

Параметры: Метод string.search () принимает два параметра:

  • Имя строки: имя строки, в которой мы хотим найти шаблон, принимается в качестве параметра.
  • Выражение: это шаблон / подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.

Возвращаемое значение: возвращает значение индекса первого совпадающего регулярного выражения в данной строке, иначе возвращает −1. Он начинается с индекса 0, и если какой-либо алфавит соответствует, он возвращает соответствующий индекс и больше не проверяет.

Пример 1:

<script>
 
    // Taking input a string.
    var string = "GeeksforGeeks is computer science portal";
   
    // Taking a regular expression.
    var regexp1 = /G/;  
    var regexp2 = /c/;
    var regexp3 = /z/;
   
    // Output
    console.log(string.search(regexp1));
    //Expected Output: 0
   
    console.log(string.search(regexp2));
    // Expected Output: 17
   
    console.log(string.search(regexp3));
    // Expected Output: -1
</script>

Выход:

0

17

-1

Объяснение: мы можем наблюдать, что первое совпадение » G » происходит в индексе 0, тогда как первое совпадение » c » происходит в 17-м индексе, тогда как алфавит » z » отсутствует в строке «GeeksforGeeks — портал компьютерных наук», таким образом возвращает −1.

Пример 2:

<script>
 
    // Taking input a string.
    var string = "GeeksforGeeks is computer science portal";
         
    // Taking a regular expression.
    var regexp = /cie/;  
 
    console.log(string.search(regexp));
    // Expected Output: 27
</script>

Выход:

27

Объяснение: мы можем заметить, что выражение ’cie’ совпадает со строкой с индексом 27. Таким образом, оно возвращает индекс первого совпадающего элемента регулярного выражения (здесь ’c’ в ’cie’), если он присутствует в данная строка.

Подход 2

Мы также можем использовать функцию Javascript String match (), которая возвращает массив, содержащий данное выражение, всякий раз, когда обнаруживается совпадение с данной строкой, иначе возвращается null.

Синтаксис:

string.match( expression )

Параметры: здесь он принимает два параметра:

  • Имя строки: имя строки, в которой мы хотим найти шаблон, принимается в качестве параметра.
  • Выражение: это шаблон / подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.

Пример 1

<script>
 
    // Taking input a string.
    let string = "GeeksforGeeks is computer science portal";
    console.log(string.match(/rGe/g));    
</script>

Выход:

['rGe']
0: "rGe"
length: 1
[[Prototype]]: Array(0)

Таким образом, он возвращает массив, длина которого равна единице, поскольку существует только одно совпадение между заданным выражением и строкой. Флаг «g» помогает найти совпадение с учетом регистра между данной строкой и выражением.

Для глобального совпадения без учета регистра мы можем использовать флаг «gi», который вернет все возможные комбинации из данной строки.

Пример 2

<script>
 
    // Taking input a string.
    let string = "GeeksforGeeks is computer "
        + "science portal for computer geeks";
        console.log(string.match(/gee/gi));
</script>

Выход:

['Gee', 'Gee', 'gee']
0: "Gee"
1: "Gee"
2: "gee"
length: 3
[[Prototype]]: Array(0)

Таким образом, он возвращает массив длиной три, который содержит все возможные комбинации между данным выражением / шаблоном и строкой.

Читайте также:  Ansible или Puppet: какой из клиентских серверов с открытым исходным кодом лучший?
Оцените статью
bestprogrammer.ru
Добавить комментарий