��� 6 - ������� � ��� ��� � ���� ��������.

� ���� ���� ����� ��������������� �� ������ ������� (���������� ���������), �� � ��� ��� ��� ������������, �� ����, � �������, � ����� ����������, ��� �����, ������ � �.�. ������ ���� ������ ����� ������ ����� ������ �������������, ��� ��� ��������� �������� � ���������� ������ ���������� �� ����� ������ ��� C. ��������, ����� ��������� ����� ��� �� ����� ������������� � ��������, ��� � ��� � ������ �������� �����, �� ����� ������� �������� ������ ������������� � ���������������. �������, �� �������.

�������� =~ � !=.

�������� =~ �������� ������ ��� ������ � ���������. �� ��������� ����������, ������� ����� ����� ���, � �������� ������� ����� ���� (�� � �������� ������ �� ���������, ����� ����, ��� ����������� ���������� � ���������, ������� � ���� ������� ��������� ������������ �������� ��� ���). �������� != �������� � ��������� �� ��������.

������:

$var =~ /w+/
����� =~ ����������� ���������� $var �������� /w+/, ������� ��������� ����� ������� ����� � ���� ����������.

��������� ��������� ��������� � ���������� ���� $�����, ���� ������� ��� � ��� ���������� ��������� ��������� ���������� ��� ������ � ������� �������. � �������, ����� �������� ����� ���������:

$var = "Hello world!!!!";
$var =~ /Hello (\w+)/;
printf "���������: $1\n";
����� ������� ���������, ��� ������:
 ���������: world
����� ���������� ����� ����� �������� ����� ����� Hello. ��������� ����� ��������� � ���������� $1. ���� �������, ��� �������� �������� ����� � �� ��������������, ����� ��������� ����� ����� ������ �� ���������� $_.

������:

$_ = "Hello world!!!!";
/Hello (\w+)/;
printf "���������: $1\n";
���� ������ ����� ���������� ��������������� � ��������� ����� ����� ����� ��.

�������� ������

� ����� ���������� ��� �������� ������, ����� ��� ��� ����� ������������ � ��������, ��� ��� ���� ���� ����� ������������� � ���, ��� ��� ������������, �� � ���� �� � �� ��� ����������� ��� � ���������� ��������.

���������:

   m/������/��������
��� ����� ����� "��������" �������� ��������� ������:
����������������
g���������� �����.
i��������� �� ������� �� �������� (������� ��� ������)
m������ �������������
o������������� ����������
s������������ ������
x������������ ����������� ���������� ���������.

���� �� ����� �������� �� ���������� ��������, ��� �������� ����� �� ������������, ����� ����� �� ������������ m, � ������ ��������� ������ ����� ��������� ���������� (�������). ��� ��� ���� ������� ����, ��������� ������ ��������� � ���������� ���� $�����.

������:

$var = "Hello world!!!!";
$var =~ /(\w+)(\w+)/;
printf "���������: $1 $2\n";
���������:
  ���������: Hello world
� ������ �������� ���������� �������� ������������ true, � ���� ������ ����� �� ������� ����� false. � �������:
if ( $var =~ /+w/ )
{  print "�������!!!\n"; }
else
{ print "�������!!!\n"; }

�������

������ ����� ���� �������, ��� ������� ������� ������� ��������, �� ���� � ��� ����������� ������������� ���������� � ����������� ������� (�������� \n - ����� ������)

������ �� ��� �� ��������, ���� �� �� ����������� - ������� ������������ ������ ������ ��������. ������� ��������� �����������.
\�������� �������� ���������� �� ��� ����������� � ������� ��� ��� ������� ������
()�����������.
.���� ������������ ������. ����� '\n' - ����� ������.
$����� ������
|������������
^������ ������
[]��������� ��������.
���������� ��� �������, ���������� '()' - ����� ����������, ��� ��� ������, ��������� ��������� ����� ����������� ������ � ������� �������.

/Hello (\w+)/;
����� � ������� ������� ������������ ���������� /w, �� ������������� ���� ���������-�������� ������. ���� '+' - �����������, �� ������������� ����� ���������� �����������.

������� ��������� ������������:
*����������� 0 ��� ������� ����� ���
+-//- 1 ��� ������� ����� ���
?1 ��� 0 ���
{n}����� n ���
{n,m}�� ������ n, �� � �� ������ m
��� ����� ��������, ��� ��� ��������� '\w+', ����� ���������� � ����� ������ ����� (���������� ��������� �������� � ���� �����), �� ����, ������� ����������� ������� ����������� ������������� �������.

��� ������� ������� ���������� ��� ��������� �������������� ������������:
\w���������-�������� ��� '_' ������
\W�� -//-
\s���� ������
\S���� �� ������
\D���� �� �����
\d���� �����
\b������� �����
\B�� ������� �����
\A������ ������
\Z����� ������ ������
\G����� �������� m//g

�������� ������

��������� ���������:
  s/������/�����������/��������
�������� ������ ������� ��������� ������, �������� ������� � ���, ��� � ���� ������������ ��� ���� �������� '�����������' - ��� ��������� ������������� ������ ���������� �� ������� ���������, ��� �� ���������� �������� � ����������:
����������������
g���������� �����.
i��������� �� ������� �� �������� (������� ��� ������)
m������ �������������
o������������� ����������
s������������ ������
x������������ ����������� ���������� ���������.
e������������� ������ ����� ��� ���������
������:
$var =~ s/������/hello/;
����� ���������� ������ ����� '������' ������ 'hello'. ����� ����������� ������������� ������������:
var =~ s/������ \w+/hello/;
� ������ ������ ���������� ������ ����� '������' � ���������� �� ��� ����� �� ����� 'hello'.

� ������ �������� ��������� ���������� �������� ������������ ���������� �����, � ���� ������ ����� �� ������� ����� false ��� 0.

�������� ������ tr.

���������:
  tr/�������1/ �������2/���������
� ������� �� ��������������� ��������� ������, ���� �������� �������� ��� ������� ��������� ��������� � '�������1' �� ������� � '�������2'.

����� ��������� ���������:
c���������� '�������1', �� ���� ���������� �� �������, ������� �� ����� � '�������1', ������� ������ �� �������� NOT
dC������ ���������, �� �� ���������� �������
s"�����" ������������� ���������� �������, �� ���� ���� ����� ������ � ������ ���� ��������� ���������� ��������, �� ��� ��������� � ����.
������:

  $ var = "Hello All";
  $ var =~ tr/l/L/;
  print "$var\n";
�������:
  HeLLo ALL.


���������� ��� | ��������� ��� | ����������

By Vasya Vazhesov.