Рубрики

Perl | Операторы в регулярном выражении

Пререквизиты: Perl | Регулярные выражения

Регулярное выражение — это строка, представляющая собой комбинацию различных символов, которая обеспечивает сопоставление текстовых строк. Регулярное выражение может также упоминаться как регулярное выражение или регулярное выражение.
Основной метод применения регулярного выражения — использование операторов связывания = ~ (оператор регулярного выражения) и! ~ (Оператор отрицательного регулярного выражения).

В Perl есть три типа операторов регулярных выражений:

  1. Соответствие регулярному выражению
  2. Заменить (найти и заменить) регулярное выражение
  3. Регулярное выражение глобальной транслитерации символов

1) Сравнение с шаблоном или регулярное выражение соответствия: Оператор соответствия «m //» используется для сопоставления строки или оператора с регулярным выражением. Косая черта, используемая в операторе (m //), действует как разделитель, и этот разделитель также может быть похож на m {}, m (), m> <и т. Д. Выражение записывается между двумя косыми чертами, используемыми в оператор.

Syntax: m/PATTERN/

Здесь PATTERN — это регулярное выражение для поиска в строке
Давайте посмотрим несколько примеров, иллюстрирующих сопоставление с образцом:
В приведенных ниже примерах сопоставляется строка и регулярное выражение, в случае успеха возвращается «совпадение найдено», в противном случае «совпадение не найдено».
Пример 1:

#! / USR / бен / Perl

  
# Инициализация строки

$a = "GeeksforGeeks"

    
# соответствие строки и
# регулярное выражение и возврат
# совпадение найдено или нет

if ($a =~ m/for/)  

    print "Match Found\n"

else 

    print "Match Not Found\n"

Выход:

Match Found

Пример 2:

#! / USR / бен / Perl

  
# Инициализация строки

$a = "GeeksforGeeks"

  
# соответствие строки и
# регулярное выражение и возврат
# совпадение найдено или нет

if ($a =~ m:abc:) 

    print "Match Found\n"


else

    print "Match Not Found\n"

Выход:

Match Not Found

Здесь, в приведенном выше коде используется другой разделитель «:» вместо «/», это показывает, что нет необходимости использовать «/» в качестве разделителя.

2) Подстановка (поиск и замена) регулярного выражения: оператор подстановки «s ///» используется для поиска определенного слова, а затем заменить его заданным регулярным выражением. Косая черта, используемая в операторе (s ///), действует как разделитель.

Syntax: s/PATTERN/REPLACEMENT/;

Здесь PATTERN — это регулярное выражение, которое должно быть заменено регулярным выражением REPLACEMENT.

Давайте рассмотрим несколько примеров, иллюстрирующих заменяющее регулярное выражение:
В приведенных ниже примерах сначала ищется слово PATTERN, а затем оно заменяется словом REPLACEMENT.
Пример-1:

# / Пользователь / бен / Perl

  
# Инициализация строки

$string = "GeeksforGeeks is a computer science portal.";

  
# Вызов замещающего регулярного выражения

$string =~ s/GeeksforGeeks/gfg/;

$string =~ s/computer science/cs/;

  
# Печать замещенной строки

print "$string\n";

Выход:

gfg is a cs portal.

Пример-2:

# / Пользователь / бен / Perl

  
# Инициализация строки

$string = "10001";

  
# Вызов подстановочного регулярного выражения

$string =~ s/000/999/;

  
# Печать замещенной строки

print "$string\n";

Выход:

19991

3) Регулярное выражение глобальной символьной транслитерации: оператор перевода или транслитерации « tr /// » или « y /// » используется для замены всех вхождений символа на заданный отдельный символ. Косая черта, используемая в операторе (tr /// и y ///), действует как разделитель.

Syntax:
tr/SEARCHLIST/REPLACEMENTLIST/
y/SEARCHLIST/REPLACEMENTLIST/

Здесь SEARCHLIST — символ, все вхождения которого будут заменены символом в REPLACEMENTLIST.

Давайте рассмотрим несколько примеров, иллюстрирующих регулярное выражение перевода:
В приведенных ниже примерах все вхождения «G» заменены на «g» с двумя разными операторами « tr /// » и « y /// ».
Пример 1:

# / Пользователь / бен / Perl

  
# Инициализация строки

$string = 'GeeksforGeeks';

  
# Вызов оператора tr ///

$string =~ tr/G/g/;

  
# Печать замененной строки

print "$string\n";

Выход:

geeksforgeeks

Пример 2:

# / Пользователь / бен / Perl

  
# Инициализация строки

$string = 'GeeksforGeeks';

  
# Вызов оператора y ///

$string =~ y/G/g/;

  
# Печать замененной строки

print "$string\n";

Выход:

geeksforgeeks

Рекомендуемые посты:

Perl | Операторы в регулярном выражении

0.00 (0%) 0 votes