.\" Copyright (c) 1992, 1993, 1994 Henry Spencer. .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Henry Spencer. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)regex.3 8.4 (Berkeley) 3/20/94 .\" .\" $FreeBSD$ .TH REGEX 3 "March 20, 1994" .de ZR .\" one other place knows this name: the SEE ALSO section .IR re_format (7) \\$1 .. .SH ̾�� regcomp, regexec, regerror, regfree \- ����ɽ���饤�֥�� .SH �� .ft B .\".na #include <sys/types.h> .br #include <regex.h> .HP 10 int regcomp(regex_t\ *preg, const\ char\ *pattern, int\ cflags); .HP int\ regexec(const\ regex_t\ *preg, const\ char\ *string, size_t\ nmatch, regmatch_t\ pmatch[], int\ eflags); .HP size_t\ regerror(int\ errcode, const\ regex_t\ *preg, char\ *errbuf, size_t\ errbuf_size); .HP void\ regfree(regex_t\ *preg); .\".ad .ft .SH ���� ���Υ롼����ϡ�POSIX 1003.2 ����ɽ��(``RE'')��¸����Ƥ��ޤ��� .ZR �Ȥ��Ƥ��������� .I regcomp �ϡ������ե�����˥��ȥ�Ȥ��ƽ��ޤ줿 RE ��ѥ��뤷�ޤ��� .I regexec �ϡ����������ե�����ȥ���ͤ���碌�Ʒ�̤���𤷤ޤ��� .I regerror �ϡ����顼�����ɤ�ͤ�Ƚ�ɤǤ����å��������Ѵ����ޤ��� .I regfree �ϡ�RE �������ե�����ǻ��Ѥ���롢 �����ʥߥå��˳�꿶��줿�������������ޤ��� .PP �إå� .I <regex.h> �ϡ�����ѥ��뤵�줿�����ե������Ѥ� .I regex_t, ������ͤ���碌������Ѥ� .I regmatch_t �Ȥ�����2 �Ĥι�¤�Υ����פ�������ޤ���4 �Ĥδؿ��������� .I regoff_t, ̾���� ``REG_'' �ǻϤޤ�����ο���������ޤ��� .PP .I Regcomp �ϡ� .IR cflags �Υե饰�˽��äơ� .I pattern ���ȥ�˴ޤޤ������ɽ����ѥ��뤷�� .IR preg ���ؤ� .I regex_t ��¤�Τ˷�̤����֤��ޤ��� .I cflags �ϡ������İʾ�ΰʲ��Υե饰�ǥӥåȥ磻�������¤��ä���ΤǤ��� .IP REG_EXTENDED \w'REG_EXTENDED'u+2n �ǥե���ȤθŤ� ( ``����'' ) RE ������ˡ������� ( ``��ĥ'' ) RE �� ����ѥ��뤷�ޤ��� .IP REG_BASIC 0 �Υ��Υ˥�Ǥ��� REG_EXTENDED ���Ф������줿��Τǡ��ɤߤ䤹����������ޤ��� .IP REG_NOSPEC ���٤Ƥ��ü�ʸ����̵���ˤʤäƤ��뤳�Ȥ�ǧ������ ����ѥ��뤷�ޤ������٤ƤΥ���饯�����̾�ʸ���Ȥߤʤ����Τǡ� ``RE'' �ϥ�ƥ�륹�ȥ�ˤʤ�ޤ�������ϡ�POSIX 1003.2 �� �ߴ��������뤬���ꤵ��Ƥ��ʤ��������ƥ��Ǥ��� ¾�Υ����ƥ�˰ܿ����뤳�Ȥ���Ū�Ȥ������եȥ������Ǥ� ���դ��ƻ��Ѥ��Ƥ���������REG_EXTENDED �� REG_NOSPEC �ϡ� .I regcomp �θƤӽФ���Ʊ���ˤϻ��ѤǤ��ޤ��� .IP REG_ICASE ��ʸ���Ⱦ�ʸ������̤��ʤ��ޥå����Ѥ˥���ѥ��뤷�ޤ��� .ZR �Ȥ��Ƥ��������� .IP REG_NOSUB ���פ�����ΤǤϤʤ��������̵ͭ�Υ�ݡ��ȤΤߤ�ɬ�פ� �ޥå����Ѥ˥���ѥ��뤷�ޤ��� .IP REG_NEWLINE ���Ԥ��θ����ޥå����Ѥ˥���ѥ��뤷�ޤ��� �ǥե���Ȥξ�硢���Ԥϡ�RE �ȥ��ȥ���ü�ʰ�̣���ʤ��������� �̾�ʸ���Ǥ������Υե饰����Ѥ���ȡ��֥�å� `[^' �� `.' �ϲ��Ԥ� ���פ��ʤ��ʤ�ޤ������� `^' �ϡ��̾�ؿ��˲ä������ȥ�β��Ԥ� ����ˤ��� NULL ���ȥ�Ȱ��פ���褦�ˤʤ�ޤ������� `$' �ϡ� �̾�ؿ��˲ä������ȥ�β��Ԥ����ˤ��� NULL ���ȥ�� ���פ���褦�ˤʤ�ޤ��� .IP REG_PEND �ǽ�� NULL �ǤϤʤ��� .IR preg ���ؤ���¤�Τ� .I re_endp ���Ф��ؤ�����饯����ľ��������ɽ���������褦�ˤʤ�ޤ��� .I re_endp ���ФΥ����פ� .IR const\ char\ * �Ǥ������Υե饰�ϡ�RE �� NULL ���ޤޤ�뤳�Ȥ���Ĥ��ޤ��� ���� NULL �ϡ��̾�ʸ���Ȥߤʤ���ޤ�������ϡ�POSIX 1003.2 �� �ߴ��������뤬���ꤵ��Ƥ��ʤ��������ƥ��Ǥ���¾�Υ����ƥ�ؤΰܿ��� ��Ū�Ȥ������եȥ������Ǥ����դ��ƻ��Ѥ��Ƥ��������� .PP ���꤬�ʤ���硢 .I regcomp �� 0 ���ᤷ�� .I preg ���ؤ���¤�Τ˥ǡ���������ޤ��� ���ι�¤�Τ� 1 �ĤΥ��� ( .IR re_endp �ʳ� ) �ϸ�ɽ����ޤ��� .IR size_t �����פ� .IR re_nsub �ˤϡ�RE �γ�̤ǰϤޤ줿����ɽ���ο�������ޤ� ( REG_NOSUB �ե饰�� ���Ѥ�����硢���Υ��Ф��ͤ�����ˤʤ�ޤ� ) �� .I regcomp �ǥ��顼��ȯ������ȡ������ʳ��Υ��顼�����ɤ��ᤵ��ޤ������Ǥ� ���Ȥ��Ƥ��������� .PP .I regexec �ϡ� .I eflags �Υե饰�˽��äơ� .I preg ���ؤ�����ѥ���Ѥ� RE �� .IR string ���ͤ���碌�� .IR nmatch, .IR pmatch, ����ͤ���Ѥ��Ʒ�̤���𤷤ޤ���RE �ϡ���������� .IR regcomp ��ƤӽФ��ƥ���ѥ��뤷�Ƥ���ɬ�פ�����ޤ��� ����ѥ��뤵�줿�ե�����ϡ� .IR regexec ��¹Ԥ��Ƥ��ѹ�����ʤ��Τǡ�1 �ĤΥ���ѥ���Ѥ� RE �� ʣ���Υ���åɤ�Ʊ���˻��ѤǤ��ޤ��� .PP �ǥե���Ȥξ�硢 .I string ���ؤ���NULL �ǽ�λ���륹�ȥ�ϡ� �饤�����Τ���Ǹ�β��Ԥ�������ƥ����ȤȤߤʤ���ޤ��� .I eflags �����ϡ������İʾ�ΰʲ��Υե饰�ǥӥåȥ磻�������¤��ä���ΤǤ��� .IP REG_NOTBOL \w'REG_STARTEND'u+2n ���ȥ�κǽ�Υ���饯�����饤��κǽ�ǤϤʤ��Τǡ�`^' ���� �������ǰ��פ���ɬ�פϤ���ޤ���REG_NEWLINE �β��Ԥ�ư��ϱƶ�����ޤ��� .IP REG_NOTEOL ���ȥ��λ���� NULL ���饤���λ���ʤ��Τǡ�`$' ���� �������ǰ��פ���ɬ�פϤ���ޤ���REG_NEWLINE �β��Ԥ�ư��ϱƶ�����ޤ��� .IP REG_STARTEND .IR nmatch ���ͤ˴ط��ʤ������ȥ�� \fIstring\fR\ + \fIpmatch\fR[0].\fIrm_so\fR �ǻϤޤꡢ�Ǹ�� NULL �� \fIstring\fR\ + \fIpmatch\fR[0].\fIrm_eo\fR �����֤���Ƥ��� ( ���ξ��� NULL ���ºݤ�¸�ߤ���ɬ�פϤʤ� ) �� �ߤʤ���ޤ��� .IR pmatch �� .IR nmatch ������ˤĤ��Ƥϡ������Ȥ��Ƥ��������� ����ϡ�POSIX 1003.2 �ȸߴ��������뤬���ꤵ��Ƥ��ʤ��������ƥ��Ǥ��� ¾�Υ����ƥ�ؤΰܿ�����Ū�Ȥ������եȥ������Ǥ����դ��ƻ��Ѥ��Ƥ��������� \fIrm_so\fR�������ʳ��Ǥ��äƤ⡢ REG_NOTBOL ���ż�����뤳�ȤϤ���ޤ��� REG_STARTEND �ϥ��ȥ�ΰ��֤Τߤ˱ƶ������ޥå�����ˡ�ˤ� �ƶ����ޤ��� .PP RE �����ΰ����� .IR string �Υ��֥��ȥ�Ȱ��פ�������ǰ��פ����ΤˤĤ��Ƥϡ� .ZR �Ȥ��Ƥ��������� .PP �̾�ξ�硢 .I regexec �����꤬�ʤ��� 0 ���ᤷ�����꤬����ȥ����ʳ��Υ����� REG_NOMATCH �� �ᤷ�ޤ����㳰Ū�ʾ����Ǥϡ������ǤϤʤ�������ʳ��� ���顼�����ɤ��ᤵ��뤳�Ȥ�����ޤ������ǤȤ��Ƥ��������� .PP RE �Υ���ѥ���� REG_NOSUB ����ꤷ����硢�ޤ��� .I nmatch �� 0 �Ǥ����硢 .I regexec �� .I pmatch ������̵�뤷�ޤ� ( REG_STARTEND ����ꤷ�����ˤĤ��Ƥϲ������� ) �� ����¾�ξ�硢 .I pmatch �� .IR regmatch_t �����פ� .I nmatch ��¤�Τ������ؤ��ޤ������Τ褦�ʹ�¤�Τˤϡ� ���֥��ȥ���� 1 ����饯���Υ��ե��åȤ�ޤ� .I rm_so ������ӥ��֥��ȥ�κǸ�θ���ˤ����� 1 ����饯���Υ��ե��åȤ�ޤ� .IR rm_eo �Ȥ������Ф�����Ǥ�ɬ�פǤ��� �ɤ���⥿���פ� .I regoff_t ( ����Ǥ⥵������ .I off_t �� .IR ssize_t �Ǥ��롢����դ����ѥ����� ) �Ǥ������ե��åȤϡ� .IR regexec �˻��ꤷ�� .I string �����κǽ餫���¬����ޤ������Υ��֥��ȥ�ϡ����Υ��֥��ȥ��³�� ����饯���������������ե��åȤ�ɽ������ޤ��� .PP .I pmatch ����� 0 ���ܤΥ��Фˤϡ�RE ���Τǰ��פ����� .I string �Υ��֥��ȥ������ޤ����Ĥ�Υ��Фϡ�RE �γ�̤ǰϤޤ줿����ɽ���� ���פ������֥��ȥ����𤷤ޤ������� .I i �ϡ�RE �κ���̤μ������鱦�� 1 �������������ɽ���ǡ�����ɽ�� .IR i ����𤷤ޤ����ͤ���碌�ˤޤä����ط����ʤ��ä�����ɽ���� RE ��¸�ߤ��ʤ� ����ɽ�� ( �Ĥޤꡢ\fIi\fR\ > \fIpreg\fR\->\fIre_nsub\fR) ���б����롢 �����̤���ѥ���ȥ�Ǥϡ� .I rm_so �� .I rm_eo �� ξ���� \-1 �����ꤵ��Ƥ��ޤ�������ɽ�����ͤ���碌��ʣ����ط��������ϡ� ���פ����Ǹ�Υ��֥��ȥ����𤵤�ޤ� ( RE `(b*)+' �� `bbb' �� ���פ����硢��̤˰Ϥޤ줿����ɽ���ϡ�3 �Ĥ��줾��� `b' �� ����ӺǸ�� `b' ��³��̵�¤ζ����ȥ�Ȱ��פ��뤿�ᡢ ��𤵤�륵�֥��ȥ�϶��Τ����� 1 �Ĥˤʤ�ޤ� ) . .PP REG_STARTEND ����ꤷ����硢 .I pmatch �Ϻ���Ǥ� 1 �Ĥ� .I regmatch_t ��ؤ� ( .I nmatch �� 0 �Ǥ��뤫��REG_NOSUB ����ꤷ�����Ǥ� )�� REG_STARTEND �����ϥ��ե��åȤ��ݻ�����ɬ�פ�����ޤ������ϤǤλ��Ѥϡ� .IR nmatch �Ǵ��������椵��ޤ��� .I nmatch �� 0 �Ǥ����硢�ޤ��� REG_NOSUB ����ꤷ����硢 .IR pmatch [0] ���ͤϡ� .IR regexec �����꤬ȯ�����ʤ�����ѹ�����ޤ��� .PP .I regerror �ϡ� .I regcomp �� .I regexec �Υ����Ǥʤ� .I errcode ��ʹ֤�Ƚ�ɲ�ǽ�ǽ��ϤǤ����å������˥ޥåפ��ޤ��� .I preg �� NULL �ʳ��Ǥ����硢���顼�����ɤϡ� .IR preg ���ؤ� .I regex_t �λ��Ѥ���ȯ�����ޤ������顼�����ɤ� .IR regcomp ����Τ�ΤǤ����硢���顼�����ɤϡ����� .IR regex_t ����Ѥ��� �Ƕ�¹Ԥ��� .I regcomp �η�̤Ȥʤ�ޤ� .IR ( regerror �ϡ� .I regex_t �ξ������Ѥ��Ƥ��ܺ٤ʥ�å����������뤳�Ȥ�����ޤ� ) �� .I regerror �ϡ�NULL �ǽ�����å������� .IR errbuf ���ؤ��Хåե������֤��ޤ���NULL ��ޤ��å�������Ĺ���ϡ������ .I errbuf_size �Х��Ȥ����¤���ޤ��� ��å��������Τ����ޤ�ʤ����ϡ��Ǹ�� NULL �����Ǽ��ޤ���ʬ�ޤǤ� ����ޤ����ɤΤ褦�ʾ��Ǥ⡢����ͤϡ��Ǹ�� NULL ��ޤ�� ��å��������Τ��ݻ�����Τ�ɬ�פʥХåե��������ˤʤ�ޤ��� .I errbuf_size �� 0 �Ǥ����硢 .I errbuf ��̵�뤵��ޤ���������ͤ����ΤǤ��� .PP .I regerror ��Ϳ����줿 .I errcode �� REG_ITOA �������¤�ǽ�˼��ȡ���������� ``��å�����'' �ϡ� ���顼�����ɤ������ǤϤʤ���``REG_NOMATCH'' �ʤɡ� ���顼�����ɤν��ϲ�ǽ��̾���ˤʤ�ޤ��� .I errcode �� REG_ATOI �Ǥ����硢 .I preg �� NULL �ʳ��ǡ����줬�ؤ���¤�Τ� .I re_endp ���Фϡ����顼�����ɤν��ϲ�ǽ��̾����ؤ�ɬ�פ�����ޤ������ξ�硢 .I errbuf �η�̤ϡ����顼�����ɤο��ͤν��ʿ��ˤʤ�ޤ� ( ̾���� ǧ������ʤ����� 0 ) �� REG_ITOA �� REG_ATOI �ϡ���˥ǥХå�����Ū�Ȥ�����ΤǤ��� ����ϡ�POSIX 1003.2 �ȸߴ��������뤬���ꤵ��Ƥ��ʤ� �������ƥ��Ǥ���¾�Υ����ƥ�ؤΰܿ�����Ū�Ȥ������եȥ������Ǥ� ���դ��ƻ��Ѥ��Ƥ����������ޤ��Ū�ʤ�ΤȤߤʤ���Ƥ���Τǡ� �ѹ�����뤳�Ȥ����뤳�Ȥˤ����դ��Ƥ��������� .PP .I regfree �ϡ� .IR preg ���ؤ�����ѥ���Ѥ� RE �˴�Ϣ���롢�����ʥߥå��� ��꿶��줿�������������ޤ����Ĥä� .I regex_t ��ͭ���ʥ���ѥ���Ѥ� RE �ǤϤʤ��Τǡ� .I regexec �� .I regerror �Ǥ������Ѥ��Ƥ��̤�����ˤʤ�ޤ��� .PP ���Τ��٤Ƥδؿ��ϡ��ܼ�������������Х��ѿ��Ȥ��ޤ������� �����Ǥ����硢ʣ���Υ���åɤǻ��Ѥ��Ƥ�����Ǥ��� .SH �����ˤ��������� 1003.2 �ˤϡ�``̤���'' ������������ǡ��ޤ��� RE ��ʸˡ�� �ػߤ���Ƥ���Ȥ������ǡ������ƥ��߷Ԥˤ���ͤƤ���̤������ब ��¿������ޤ������Υ����ƥ�Ǥϡ�����̤��������ʲ��Τ褦�� ���äƤ��ޤ��� .PP ��ʸ���Ⱦ�ʸ������̤���ޥå�������ˤĤ��Ƥϡ� .ZR �Ȥ��Ƥ��������� .PP ��������¤�����С�RE ��Ĺ�������¤Ϥ���ޤ�����λ����̤� RE �Υ������ˤ����������㤷�Ƥ��ꡢ�����դ���ȿ��������ơ�RE ��ʣ������ �礭����������뤳�ȤϤ���ޤ��ۤȤ�ɤΥ����ƥ�ǥ��꤬�����롢 ȿ������Ѥ���û�� RE �ˤĤ��Ƥϡ��Х��Ȥ��Ƥ��������� .PP 1003.2 �����̤ʰ�̣ ( ���Τ褦�����̤ʰ�̣�ϡ� �Ť� [``basic''] RE �Τߤˤ���ޤ� ) ��Ϳ�����Ƥ����� �ʳ��ΥХå�����å��奭��饯���ϡ��̾�ʸ���Ȥߤʤ���ޤ��� .PP ���פ��ʤ� [ �� REG_EBRACK ���顼�Ǥ��� .PP �������饹�ϡ���̤ǰϤޤ줿ɽ�����ϰϤ�Ϥ�� ��λ������Ǥ��ޤ������ϰϤν�λ������¾���ϰϤ� �������ˤʤ뤳�ȤϤ���ޤ��� .PP �����դ�ȿ����ȿ���������¤Ǥ��� RE_DUP_MAX �� 255 �Ǥ��� .PP ȿ���黻�� (?, *, +, ����) ���̤�ȿ���黻�Ҥ� ³���뤳�ȤϤǤ��ޤ���ȿ���黻�Ҥ�ɽ���䥵��ɽ����Ϥ�ꡢ `^' �� `|' �θ��ȿ���黻�Ҥ�³�����ꤹ�뤳�ȤϤǤ��ޤ��� .PP ɽ���䥵��ɽ���κǽ餫�Ǹ�� `|' ����Ѥ����ꡢ`|' �θ�� �̤� `|' ����Ѥ����ꤹ�뤳�ȤϤǤ��ޤ����Ȥ��С�`|' �Υ��ڥ��ɤ� ���Υ���ɽ���ˤ��뤳�ȤϤǤ��ޤ���̤ǰϤޤ줿���Υ���ɽ�� `()' �� ���Ĥ���Ƥ��ꡢ���Υ��ȥ�����֥��ȥ�Ȱ��פ��ޤ������Υ��ȥ�� �ϡ�Ŭ�ڤ� RE �ǤϤ���ޤ��� .PP ��˿�����³�� `{' �ϡ������դ�ȿ�������¤λϤޤ�Ȥߤʤ���ޤ��� ���ξ��ϡ����¤Υ��å����˽���ɬ�פ�����ޤ�����˿����� \fI ³���ʤ�\fR `{' �ϡ��̾�ʸ���Ȥߤʤ���ޤ��� .PP �Ť� ( ``����'' ) RE �Υ���ɽ���γ��ϤȽ�λ��ɽ�� `^' �� `$' �ϥ��� �Ǥ��ꡢ�̾�ʸ���ǤϤ���ޤ��� .SH ��Ϣ���� grep(1), re_format(7) POSIX 1003.2, sections 2.8 (Regular Expression Notation) ����� B.5 (C Binding for Regular Expression Matching) .SH ���� �ʲ��ϡ� .I regcomp �� .I regexec �Υ����Ǥʤ����顼�����ɤǤ��� .PP .nf .ta \w'REG_ECOLLATE'u+3n REG_NOMATCH regexec() �ΰ��פǥ��顼��ȯ�� REG_BADPAT ����ɽ�����������ʤ� REG_ECOLLATE �ȹ礹�륨����Ȥ��������ʤ� REG_ECTYPE ����饯�����饹���������ʤ� REG_EESCAPE ���������װʳ��Υ���饯���� \e ���դ��Ƥ��� REG_ESUBREG �Хå���ե�����ֹ椬�������ʤ� REG_EBRACK ��� [ ] �ο������ʤ� REG_EPAREN ��� ( ) �ο������ʤ� REG_EBRACE ��� { } �ο������ʤ� REG_BADBR { } ��ȿ�������������ʤ� REG_ERANGE [ ] �Υ���饯���ϰϤ��������ʤ� REG_ESPACE ������ REG_BADRPT ?, *, + ���ڥ��ɤ��������ʤ� REG_EMPTY ����ɽ��������ɽ�� REG_ASSERT ``���ꤨ�ʤ�''���Ĥޤ�Х� REG_INVARG �������������ʤ� ( ���Ĺ���Υ��ȥ�ʤ� ) .fi .SH ��� �ǽ�κ�Ԥ� Henry Spencer �Ǥ��� .BA 4.4 �����ۤ˴ޤ�뤿����ѹ�����ޤ����� .SH �Х� ����ե������Ǥ��뤿�ᡢ��٤Τ��뤳�Ȥ��Τ��Ƥ��ޤ��� ���꤬���������𤷤Ƥ��������� .PP ��ǽŪ�ʥХ��Ȥ����Τ��Ƥ����Τˡ���ݲ��Υ����ƥब �Դ����Ǥ���Ȥ������Ȥ�����ޤ��� 1003.2 �Υǥե���ȥ������뤬��� ���ꤵ���Τǡ����Υ�������ξȹ票����Ȥʤɤ������ѤǤ��ޤ��� .PP �Хå���ե�������ɤ���̯�ǡ�ʣ���ʾ��Ϥ������Τ��˵��䤬 �Ĥ�ޤ��� .PP .I regexec �Υѥե����ޥ��㤯�ʤäƤ��ޤ�����Υ����Ǥ� ��������ޤ����� .I nmatch �� 0 ��ۤ���ȥ����Ȥ������ꡢ 1 ��ۤ���Ⱦ����Ϥ���˰������ޤ��� .I regexec �ϡ��Хå���ե����¿���Υ����Ȥ��������������� RE ��ʣ�����ˤ��礭���ƶ�����ޤ�������� RE ��Ĺ���ǡ� �ü�ʸ���� 2 �ܤȤ��Ʒ�����RE ��Ĺ������ 30 ����饯���� �����ȡ�������®���ʤ�ޤ��� .PP .I regcomp �ϡ��ޥ�����ĥ�������դ�ȿ����¸����Ƥ��ޤ��������դ�ȿ���ˤϡ� �����礭����硢�ޤ��������դ�ȿ�����ͥ��Ȥ���Ƥ����硢Ĺ�� ���֤�¿���Υ��ڡ�����ɬ�פǤ������Ȥ��� `((((a{1,100}){1,100}){1,100}){1,100}){1,100}' �Τ褦�� RE �Ǥϡ��ǽ�Ū�ˤۤȤ�ɤΥޥ���ǥ���åץ��ڡ����������ޤ��� .PP �Ϥä���Ȥ��ʤ����顼���ؤΥꥹ�ݥˤ����꤬����褦�Ǥ��� �����礭�� RE ��ʣ���˥ͥ��Ȥ��������դ�ȿ���ǰ�����������롢��������� �����Хե����ϡ�Ŭ�ڤ˽�������ʤ����Ȥ�����ޤ��� .PP 1003.2 �θ���ˤ�ꡢ���פ��ʤ� `(' �����ˤ�����ˤΤ� `)' �� �ü�ʸ���ˤʤ�Τǡ�`a)b' �Τ褦�ʤ�Τ������� RE �ˤʤäƤ��ޤ��ޤ��� ��������ϡ����ͤ����������ޤǽ�������ޤ��� .PP �Хå���ե���˴ؤ��롢ɸ��������ۣ��ˤʤäƤ��ޤ��� ���Ȥ��� `a\e(\e(b\e)*\e2\e)*d' �� `abbbd' �Ȱ��פ��Ƥ��ޤ��ΤǤ���ɸ�ब ���Τˤʤ�ޤǡ����Τ褦�ʾ���ư��Ͽ��ꤹ�٤��ǤϤ���ޤ��� .PP ��ɶ����ޥå��Υ����ƥ��¿�������ޤ��ǡ���ɶ����ޥå��� �ȥ����Ȥ߹�碌�ˤϥХ�������Ǥ����ǽ��������ޤ���