Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

REGCMP(3X)

��������
regcmp, regex - ���������� � ���������� ����������� ���������

���������

	char *regcmp (string1 [, string2, ...], (char *) 0)
	char *string1, *string2, ...;
	
	char *regex (re, subject [, ret0, ...])
	char *re, *subject, *ret0, ...;
	
	extern char *__loc1;

��������
������� regcmp ����������� ���������� ���������, ��������� �� ����������������� ����������, � ���������� ��������� �� ��������� ����������. ����� ��������� ������������ ��� ����������, ������������ ������� malloc(3C). ��������������� �� ������������ �������� �������� ������������, ������� ���� �������� ��� ������ malloc, ����������� �� ������������. ������ ��������� NULL, ������������ � �������� ���������� regcmp, ��������������� � �������������� ����������. �����, � ����� ������, ��������� ������������� ������ ������ ������� �� ����� ����������, �������� ������� regcmp(1).

������� regex ������������ ���������������� ������� � �������� �������� subject. Regex ���������� ������ ��������� NULL � ������ ������� ��� ��������� �� ������, ��������� ����� ��������������� ���������, � ������ ������. ���� ����� �������� ������ �������� ����������, ������� �������� �������������� ���������. � ���������� ���������� __loc1 ������������ ��������� �� �������, ��� ������������� ��������. ������� regcmp � regex ����� ������� ������������ �� ��������� ed(1); ��������� � ��������� ���������� ��������� �������� �������������. ���� ����������� ���������� ������� � ������� �� ���������.

[ ] * . ^
��� ������� ��������� ���� ������� ��� ed(1) �����.

$
���� ������ �������������� � ������ ������� ��������; \n �������������� � �������� �������� ������.

-
����� � ���������� ������� ���������� "�� � ��". ��������, ������ [a-z] ������������ [abcd...xyz]. ����� ����� ����������� ��� �� ����, ������ ���� �� �������� ������ ��� ��������� ��������. ��������, ����� �������� [ ]-] �������������� � ��������� ] � -.

+
����, ��������� �� ���������� ����������, ���������� "���� ��� ����� ���". ��������, ������ [0-9]+ ������������ [0-9][0-9]*.

{m} {m,} {m, u}
����� ��������, ����������� � �������� ������, ���������, ������� ��� ������ ����������� �������������� ���������� ���������. ����������� ����� ���������� �������� ��������� m, ������������ ��������� u, ������� ������ ���� ������, ��� 256. ���� ������� ������ �������� {m}, ��� ���������� ������ ����� ���������� ����������� ���������. ������ {m,} ������������ {m, �������������}. �������� + � * ������������ �������������� {1,} � {0,}.

( ... )$n
�������� ����������� ��������� � ������� ������ ���� ����������. �������� ��������� � (n+1)-� �������� ����� subject. � ������� ������ ����������� �������� 10 ����� ���������� ���������. ������ ������������ ����������� ����������.

( ... )
������� ������ ������������ ��� �����������. �������� (��������, *, +, { }) ����� �������� � ����� �������� ��� � ���������� ����������, ����������� � ������. ��������, (a*(cb+)*)$0.

��� ������������ ���� ������� �� ������������� ���������� ������ �������. ����� ���������� ����� ����, ��� ������ �������������� �������� \.

�������

  1. � ������ ������� ����� ����������� ������ �������� ������, ������� � ������ ������� ��������, �� ������� ��������� �������� cursor:
    	char *cursor, *newcursor, *ptr;
    	  ...
    	newcursor =
    	  regex((ptr = regcmp("^\n", (char *)0)), cursor);
    	free (ptr);
    
  2. � ��������� ������� ����� ������������ ������� �������� "Testing3" � ��������� ����� ����� ���������� ��������������� ������� (����� ������� "4"). ������� "Testing3" ����� ����������� � ������ ret0.
    	char ret0 [9];
    	char *newcursor, *name;
    	  ...
    	name  =  regcmp ("([A-Za-z][A-za-z0-9]{0,7})$0",
    	                (char *) 0);
    	newcursor = regex (name, "012Testing345", ret0);
    
  3. �������������� ���������������� ���������� ��������� �� ����� file.i [��. regcmp(1)] ����� ��������� � ��������� string:
    	#include "file.i"
    	char *string, *newcursor;
    	   ...
    	newcursor = regex (name, string);
    

�����

	/usr/lib/libPW.a        ����������, � �������  ��������
	                        ��������� �������.

��. �����
malloc(3C).
ed(1), regcmp(1) � ����������� ������������.

��������
��� ������ ��������� ������������ ����� ��������� ������������ ������, ���� regcmp ���������� ����������� ��� ������������ �������� ������, ������� ���������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT