efuns - strings - regexp

MudOS v21c2

regexp(3)�� MudOS v21c2���� (5 Sep 1994)

�����ƣ�
    �� regexp() - ��������ʽ(regular expression)�������
���﷨��
    �� string *regexp( string *lines, string pattern, void | int flag );

    �� �ַ��� *regexp( �ַ��� *lines, �ַ��� pattern, �޲��� | ���� flag );

���÷���
    �� һ����ԣ����Զ������ֵ��������������ʽ���ʱ��regexp(3) �᷵��һ�������Ǽ��з���ָ������������ʽ����֮���顣��� flag��Ԥ��ֵ 0����λԪ 2 ���趨���򽫷��ز������߶��Ƿ����ߡ������ flag ��λԪ 1 ���趨����᷵������ʽ ({ ע�� 1 + 1, ���� 1, ..., ע�� n + 1, ���� n }) �����飬�����ע�� 1 ��ָ��һ�����ϻ��Dz��������������������е�ע��(index)��
����������ʽ�﷨��
    �� һ����������ʽ����������Ƕ���� `|' �ָ�ķֶ�(branch)����������κη�����Щ�ֶ�֮һ��

    �� һ���ֶ����������������(piece)�����ɵġ��������������ϵ�һ����Ԫ���ڶ�����Ԫ�ȵȡ�
    ��
    �� һ��������һ�����Խ��� `*'��`+' �� `?' �ĵ�Ԫ(atom)��һ������ `*'�ĵ�Ԫ�����һ��������Ƕ�����ϵĵ�Ԫ��һ������ `+' �ĵ�Ԫ�������һ��һ���������ϵĵ�Ԫ��һ������ `?' �ĵ�Ԫ��������һ����Ԫ���ǿ��ַ�����

    �� һ����Ԫ������һ���������е���������ʽ����������������ʽ����һ����Χ(range)�������˵������`.'������κε�һ�ַ����� `^'����������ַ�����ͷ�Ŀ��ַ�������һ�����ŵ�һ�ַ��� `\'���������ַ�������һ��û����������ĵ�һ�ַ����������ַ�����

    �� һ����Χ��һ�������� `[]' �ڵ��ַ�����һ��������κ��������е��κε�һ�ַ����������������� `^' ��ʼ������ֻ����Բ����������к�벿���κ��ַ�������������еĶ����ַ��� `-' ���ָ�Ļ��������Ǹ����н������Ǽ����� ASCII �ַ��ļ�д�����磬 `[0-9]' ������κ�ʮ��λ���֣���Ҫ�������а����ַ� `]'�Ļ�����Ҫ�������ڵ�һ���������һ���ַ���

������ȷ��(ambiguity)��
    �� ���һ����������ʽ���Է��������ַ����Ķ�����ͬ���ݣ�������ֻ����Խ��翪ʼ���Ǹ��������������ͬλ�ÿ�ʼ�����ϳ��Ȳ�ͬ�����Ƿ��Ϸ�����ͬ��ͬ���ȵĻ�������ͻ��ĺܸ��ӣ��������£�

    �� һ������˵��һ���ֶεĿ����������������ҵ�˳��`*'��`+' �� `?' ���Ǿ������������ַ�������״�ṹ�������㿪ʼ��������(concatenated)�Ľṹ��������ߵĿ�ʼ������ѡ�õ������ʹ������������Ե�ѡ������ж���һ��ѡ������һ��Ҳ�����һ��ѡ�����ȡͬ���ķ�������������ԣ���һֱ������ȥ��

    �� ������˵��`(ab|a)b*c' �����ж��ַ�ʽ��� `abc' ����һ��ѡ���� `ab' �� `a'����Ϊ `ab' ������϶��ҿ�����Գɹ�����������ѡ�á����� `b' �ѱ���ԣ����� `b*' ������������Ŀ��ܣ������ַ�������Ϊ��������ӽ����ѡ��

    �� һ��û�� `|' ��ֻ��һ�� `*'��`+' �� `?' ��������������ľ�ЧӦ���������Խ��ᱻѡ�á���ˣ��� `xabbby' ��˵��`ab*' ������� `abbbb'��ע�⵽����Ķ� `xabyabbbz' ��˵������ֻ����Ե� `x' ֮��� `ab'��������ǣ����������↑ʼ����ǵ�һ��Ҫ����ѡ����Ϊ����ѡ��Ҳ��������������������ֻ�Ǹ���̫�õľ�������

���ο��� �����룺

�ص���һҳ