����ɽ����������뤿��Υ롼���� in C

Copyright (C) 1996,1998 Taiji Yamada <[email protected]>
[���]


����ɽ����������뤿��Υ롼����ˤ� Solaris �ʤɤǤ� regcmp(3G), regexpr(3G)��GNU �Ǥ� regex �� rx �ʤɤ�����ΤǼ������Ѱդ���ɬ�����⤢�ޤ�ʤ��ΤǤ�������ݲ���������������ͳ����Ϥ겿����и��Ȥ������Ȥǡ���ʬ�Ǻ�äƤߤޤ��������������������ݲ���ǰƬ�˺������ƤϤ����ΤǤ������ޤ���ݲ���������ɽ���롼����ˤϤʤäƤޤ��󤷡��������ȤʤɤΤ����Ĥ����פʵ�ǽ����������Ƥ��ޤ��󡣤ޤ�����Ψ�ΰ����Ȥ�����¿������Ȼפ��ޤ������Ȥꤢ�����ΥС������Ȥ��Ƹ������Ƥ��ޤ��� ���Υץ������ϡ��������ܵ������ٶ��Τ����ʸ�� [1] ��١����˺��Ϥ᤿��Τǡ�����Ū�ˤ�ʸ�� [1] �Υ���ץ�ץ������Ȼ��Ȥߤ�Ʊ���ǡ�����ˡ�Ǥ�դΰ�ʸ����.�פ�ʸ�����饹��[a-z]�ס������֤������?�ס�{n,m}�ס���Ƭ�����������^,$�ס���\t,\n�פʤɤ�����ʸ������\s,\w�פʤɤ�ʸ�����饹����\cG,\xff,\377,\0�פʤɤ�ʸ�������ɻ���ʤɤ��ĥ������ΤǤ���

Perl ����٤ƽ���ʤ����Ȥϡ���\digit�פˤ��������Ȥ䡢��\b,\B�פΥ��󥫡���GNU regex ����٤ƽ���ʤ����Ȥϡ���\<,\>�פΥ��󥫡���POSIX ����٤ƽ���ʤ����Ȥϡ�[:digit:]�פʤɤ�ʸ�����饹�ʤɤǤ��������ϡ��ޤ��꤬���������ˤǤ��������Ĥ��Ǥ�����ñ�쳫�ϰ��֤ʤɤΥ��󥫡���������Ȥ�ɤΤ褦�˼�������Х٥��Ȥ����ΤȤ����ͤ���Ǥ���

�ޤ�������ɽ���ι�ʸ��§�Υ������ޥ����⤢�����ٹ�θ����Ƥ���Τǡ�AWK, GREP �ߴ��ʤɤ˥������ޥ������뤳�Ȥ��ưפǡ�����ˡ��ǥե���Ȥι�ʸ��§���ѹ��Τ���Υޥ���(REGE_SYNTAX_AWK, REGE_SYNTAX_GREP �ʤ�)���Ѱդ��Ƥ���ޤ����������������Ĥ��Υ���ƥ�����ʵ�ư�Ǵ����ʸߴ��ˤϤʤäƤ��ޤ���

�����ơ� ��ݲ��б��ˤĤ��Ƥϡ�����Ū�� wchar �� wstring �ؤ��ִ��������Ū��ñ�˽����褦�˹�θ�����Ĥ��Ǥ�����POSIX ������ɽ���ι�ݲ��ˤĤ��Ƥ������Ĵ�٤��櫓�ǤϤʤ��Τǡ������ܺ٤������Ǥ���

���ޤΤȤ����ѥ�����ޥå��󥰥롼���󤷤��Ѱդ��Ƥޤ���

�Ȥ���

����Ū�˰ʲ��Τ褦�ˤ��뤳�Ȥˤ�ꡢ����ɽ���ˤ��ѥ�����ޥå��󥰤�����ޤ��� �ޤ���rege_t *rege_compile(char *pattern, rege_syntax_t syntax, char *trans_table) �� syntax �ˡ��㤨�� REGE_SYNTAX_AWK ����ꤹ��� AWK �ߴ��ˤʤꡢ��\{n,m\}�פ������֤�����ˤʤ�ޤ���

trans_table  �ˤϥ����� 256 ��ʸ�������ɤ��Ѵ�ɽ����ꤹ�뤳�Ȥ�����ޤ����㤨�С���ʸ���Ⱦ�ʸ����̵�뤹��ʤ顢

�Ȥ��ޤ�����rege_compile �μ¹Ի��ˤ� trans_table  �ϻ��Ѥ��ʤ��Τǡ� rege_match ��ľ���� rege_t ���� rege->trans_table �˥ݥ��󥿤���ꤷ�Ƥ�Ʊ�����̤�����ޤ��� ��äȤ⡢��ʸ���Ⱦ�ʸ����̵�뤹������ʤ� syntax �� REGE_IGNORE_CASE ��ޥ������������Ʊ�����̤����ޤ��� ����¾�ξܺ٤ˤĤ��Ƥϡ�����ץ�ץ������ lgrep.c ��إå��ե����롢�������ե�����ò¸«¤Æ²ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ �ޤ���ź�դ� lgrep.pl �� lgrep.c �Υƥ��ȤΤ���˺���������Τ� Perl �ˤ�� lgrep �Ǥ��� lgrep �� grep �Ȱ�ä� less �Τ褦������ɽ���˥ޥå������ϰϤ�ɽ�����ޤ���

����ʸ��

  1. ��ƣ ����, ``C �ץ�����ޤΤ���Υ��르�ꥺ��ȥǡ�����¤ Part 2,'' ���եȥХ�, pp. 41-74, 1993.

���Υ����Ȥ˴ؤ��뤴�ո�����˾�� [email protected] �ޤǤ��ꤤ���ޤ���

Copyright (C) 1998 Taiji Yamada, All rights reserved.