�����ƣ�
- �� reg_assoc() - һ��������ʽ (regular pattern) ���ַ���ߢȡ��(extractor)
- �� mixed *reg_assoc(string str, string *pat_arr, mixed *tok_arr, void
| mixed def);
�� ��� *reg_assoc(�ַ��� str, �ַ��� *pat_arr, ��� *tok_arr, ���� | ��� def);
- �� reg_assoc ��һ���ַ�����չ(explode)ΪһЩ���ϸ��� pat_arr �����ʾ(regular
expression)��ʽ�ַ��������ַ��������Һ�����������Ԫ(token) tok_arr �����ᡣ���
def��Ԥ��ֵ 0����ָ���Ļ���������һ��δ����������ᡣ����ֵ�Ǻ��ж�������������飬��һ����һ�����¸�ʽ������
- ���� ({ �� 1, ��� 1, �� 2, ��� 2, ...,
�� n, ��� n, �� n+1 })
�� ���ڶ������������Ӧ������ߵ�������Ԫ��
- ���� ({ def, �������� 1 ��������Ԫ, ..., def, ��������
n ��������Ԫ, def })��
�� pat_arr �� tok_arr ����һ����С��tok_arr �ĵ� i ��Ԫ���Ƕ�Ӧ�� pat_arr �ĵ� i ��Ԫ�ء�pat_arr ����ֻ�����ַ�����
�� ��� pat_arr���� tok_arr���Ĵ�С����Ļ�����ֻ�᷵�� ({ ({ str }), ({ def }) })��
- �� #define STRING_PAT "\"(\\\\.|[^\\\"])*\""
�� #define NUM_PAT "[0-9]+"
�� #define F_STRING 1
�� #define F_NUM 2
�� reg_assoc("Blah \"blah\" test 203 hhh j 308 \"bacdcd\b\"acb",
- ({ STRING_PAT, NUM_PAT }), ({ F_STRING, F_NUM
}), "no-match")
�� ���᷵��
- ���� ({ ({ "Blah ", "\"blah\"", " test ", "203",
" hhh j ", "308", " ",
- ������ "\"bacdcd\b\"", "acb" }),
- ���� "no-match", F_STRING, "no-match" }) })
- �� [email protected]�� 97.Jul.26���� (printed 3/16/95)