���h���F��
���h���F���]Regular Expression�A�Y�g��regexp�Aregex��regxp)�A�S�����W���F���B���W���ܦ����`�W���F�������W�ƪ��ܪk�����W���ܪk�A�O���@�ӥΨӴy�z�Ϊ̤ǰt�@�t�C�ŦX�Y���y�k�W�h���r��������Ӧr����C�b�ܦh�奻�s�边�Ψ�L�u��̡A���h���F���q�`�Q�Ψ��˯��M/�δ������DzŦX�Y�ӼҦ����奻���e�C�\�h�{���y��������Q�Υ��h���F���i��r����ާ@�C�Ҧp�A�bPerl���N���ؤF�@�ӥ\��j�j���b���h���F�������C���h���F���o�ӷ����̪�O��Unix�����u��n��]�Ҧpsed�Mgrep�^���ζ}���C
�򥻷���
�@�ӥ��h���F���q�`�Q�٬��@���Ҧ� (pattern)�A���ΨӴy�z�Ϊ̤ǰt�@�t�C�ŦX�Y���y�k�W�h���r�����C�Ҧp�GHandel�BHändel �M Haendel �o�T�Ӧr����A���i�H�� "H(a|ä|ae)ndel" �o�ӼҦ��Ӵy�z�C�j�������h���F�����������p�U�����c�G
- ����
- |
- �ݪ����j�ťN�������C�Ҧp"gray|grey"�i�H�ǰtgrey��gray�C
- �ƶq���w
- �Y�Ӧr���᪺�ƶq���w�ťΨÓ��w�e���o�Ӧr�����\�X�{���ӼơC�̱`�����ƶq���w�ť]�A+, ?,�M*�]���[�ƶq���w�h�N���X�{�@���B�ȥX�{�@���^�G
- +
- �[���N���e�����r�������ܤ֥X�{�@���C(1���A�Φh��)�C�Ҧp�A"goo+gle"�i�H�ǰtgoogle�Agooogle�Agoooogle��;
- ?
- �ݸ��N���e�����r���̦h�u�i�H�X�{�@���C(0���A��1��)�C�Ҧp�A"colou?r"�i�H�ǰtcolour�Ϊ�color;
- *
- �P���N���e�����r���i�H���X�{�A�]�i�H�X�{�@���Ϊ̦h���C(0���A��1���A�Φh��)�C�Ҧp�A"0*42"�i�H�ǰt42�A042�A0042�A00042���C
- ����
- ��A���i�H�Ψөw�q�ާ@�Ū��d��M�u���סC�Ҧp�A"gr(a|e)y"������"gray|grey"�A"(grand)?father"�ǰtfather�Mgrandfather�C
�W�z�o�Ǻc�y�l���i�H�ۥѲզX�A�]���A"H(ae?|ä)ndel"�M"H(a|ae|ä)ndel"�O�ۦP���C
��T���y�k�i��]���P���u��ε{�ǦӲ��C
���v
�̪쪺���h���F���X�{���z�׹q��������۰ʱ���z���M�Φ��y���z�����C�b�o�ǻ�줤����p��]�۰ʱ���^���ҫ��M���Φ��y���y�z�P��������s�C1940�~�N�AWarren McCulloch�PWalter Pitts�N���g�t���������g���y�z���p��²�檺�۰ʱ���C�y��A�ƾǮaStephen Kleene�Q�κ٤������h���X���ƾDzŸ��Ӵy�z���ҫ��CKen Thompson�N���Ÿ��t�ΤޤJ�s�边QED�A�M��OUnix�W���s�边ed�A�ó̲פޤJgrep�C�ۦ��A���h���F���Q�s�x�a�ϥΩ�U��Unix�Ϊ�����Unix���u��A�ҦpPerl�C
Perl���h���F�����۩�Henry Spencer�g��regex�A���w�g�t�Ʀ��Fpcre�]Perl�ۮe���h���F��Perl Compatible Regular Expressions�^�A�@�ӥ�Philip Hazel�}�o���A���ܦh�{�N�u��ҨϥΪ��w�C
�U�q���y�����������h���F������X�ثe�}�i���ܮt�C���Ӫ�Perl6���l����Apocalypse���]�p���w�Ҽ{��F�o�I�C
���F������
���h���F�����h�ؤ��P������C�U���O�bPCRE�����r���Ψ�b���h���F���W�U�夤���欰���@�ӧ���C���G
�r�� | �y�z |
---|---|
\ | �N�U�@�Ӧr���аO���@�ӯS���r���B�Τ@�Ó�q�r���B�Τ@�ӦV��ޥΡB�Τ@�ӤK�i����q�šC�Ҧp�A�un�v�ǰt�r���un�v�C�u\n�v�ǰt�@�Ӵ���šC�ǦC�u\\�v�ǰt�u\�v�ӡu\(�v�h�ǰt�u(�v�C |
^ | �ǰt��J�r���ꪺ�}�l��m�C�p�G�]�m�FRegExp��H��Multiline�ݩʡA^�]�ǰt�u\n�v�Ρu\r�v���᪺��m�C |
$ | �ǰt��J�r���ꪺ������m�C�p�G�]�m�FRegExp��H��Multiline�ݩʡA$�]�ǰt�u\n�v�Ρu\r�v���e����m�C |
* | �ǰt�e�����l���F���s���Φh���C�Ҧp�Azo*��ǰt�uz�v�H�Ρuzoo�v�C*������{0,}�C |
+ | �ǰt�e�����l���F���@���Φh���C�Ҧp�A�uzo+�v��ǰt�uzo�v�H�Ρuzoo�v�A������ǰt�uz�v�C+������{1,}�C |
? | �ǰt�e�����l���F���s���Τ@���C�Ҧp�A�udo(es)?�v�i�H�ǰt�udo�v�Ρudoes�v�����udo�v�C?������{0,1}�C |
{n} | n�O�@�ӫD�t��ơC�ǰt�T�w��n���C�Ҧp�A�uo{2}�v����ǰt�uBob�v�����uo�v�A���O��ǰt�ufood�v�������o�C |
{n,} | n�O�@�ӫD�t��ơC�ܤ֤ǰtn���C�Ҧp�A�uo{2,}�v����ǰt�uBob�v�����uo�v�A����ǰt�ufoooood�v�����Ҧ�o�C�uo{1,}�v������uo+�v�C�uo{0,}�v�h������uo*�v�C |
{n,m} | m�Mn�����D�t��ơA�䤤n<=m�C�̤֤ǰtn���B�̦h�ǰtm���C�Ҧp�A�uo{1,3}�v�N�ǰt�ufooooood�v�����e�T��o�C�uo{0,1}�v������uo?�v�C�Ъ`�N�b�r���M��ӼƤ������঳�Ů�C |
? | ���Ӧr�����b����@�Ө�L�����(*,+,?,{n},{n,},{n,m})�á±ï¿½É¡A�ǰt�Ҧ��O�D�g�����C�D�g���Ҧ����i��֪��ǰt�ҷj�����r����A�ӹw�]���g���Ҧ��h���i��h���ǰt�ҷj�����r����C�Ҧp�A���r����uoooo�v�A�uo+?�v�N�ǰt��ӡuo�v�A�ӡuo+�v�N�ǰt�Ҧ��uo�v�C |
. | �ǰt���u\n�v���~�������Ӧr���C�n�ǰt�]�A�u\n�v�b��������r���A�Шϥι��u[.\n]�v���Ҧ��C |
(pattern) | �ǰtpattern������o�@�ǰt�C��������ǰt�i�H�q���ͪ�Matches���X�o��A�bVBScript���ϥ�SubMatches���X�A�bJScript���h�ϥ�$0�K$9�ݩʡC�n�ǰt��A���r���A�ШϥΡu\(�v�Ρu\)�v�C |
(?:pattern) | �ǰtpattern��������ǰt���G�A�]�N�O���o�O�@�ӫD����ǰt�A���i��s�x�ѥH��ϥΡC�o�b�ϥΡu�Ρv�r��(|)�ӲզX�@�ӼҦ����U�ӳ����O�ܦ��ΡC�Ҧp�A�uindustr(?:y|ies)�N�O�@�Ӥ�vindustry|industries'��²�������F���C |
(?=pattern) | ���V�w�d�A�b����ǰtpattern���r����}�l�B�ǰt�d��r����C�o�O�@�ӫD����ǰt�A�]�N�O���A�Ӥǰt���Ýn����ѥH��ϥΡC�Ҧp�A�uWindows(?=95|98|NT|2000)�v��ǰt�uWindows2000�v�����uWindows�v�A������ǰt�uWindows3.1�v�����uWindows�v�C�w�d�����Ӧr���A�]�N�O���A�b�@�Ӥǰt�o�ͫ�A�b�̫�@���ǰt����ߧY�}�l�U�@���ǰt���j���A�Ӥ��O�q�]�t�w�d���r������}�l�C |
(?!pattern) | �t�V�w�d�A�b���󤣤ǰtpattern���r����}�l�B�ǰt�d��r����C�o�O�@�ӫD����ǰt�A�]�N�O���A�Ӥǰt���Ýn����ѥH��ϥΡC�Ҧp�uWindows(?!95|98|NT|2000)�v��ǰt�uWindows3.1�v�����uWindows�v�A������ǰt�uWindows2000�v�����uWindows�v�C�w�d�����Ӧr���A�]�N�O���A�b�@�Ӥǰt�o�ͫ�A�b�̫�@���ǰt����ߧY�}�l�U�@���ǰt���j���A�Ӥ��O�q�]�t�w�d���r������}�l |
x|y | �ǰtx��y�C�Ҧp�A�uz|food�v��ǰt�uz�v�Ρufood�v�C�u(z|f)ood�v�h�ǰt�uzood�v�Ρufood�v�C |
[xyz] | �r�Ŷ��X�C�ǰt�ҥ]�t�����N�@�Ӧr���C�Ҧp�A�u[abc]�v�i�H�ǰt�uplain�v�����ua�v�C |
[^xyz] | �t�Ȧr�Ŷ��X�C�ǰt���]�t�����N�r���C�Ҧp�A�u[^abc]�v�i�H�ǰt�uplain�v�����up�v�C |
[a-z] | �r���d��C�ǰt���w�d�򤺪����N�r���C�Ҧp�A�u[a-z]�v�i�H�ǰt�ua�v��uz�v�d�򤺪����N�p�g�r���r���C |
[^a-z] | �t�Ȧr���d��C�ǰt���󤣦b���w�d�򤺪����N�r���C�Ҧp�A�u[^a-z]�v�i�H�ǰt���󤣦b�ua�v��uz�v�d�򤺪����N�r���C |
\b | �ǰt�@�ӳ����ɡA�]�N�O������M�Ů涡����m�C�Ҧp�A�uer\b�v�i�H�ǰt�unever�v�����uer�v�A������ǰt�uverb�v�����uer�v�C |
\B | �ǰt�D�����ɡC�uer\B�v��ǰt�uverb�v�����uer�v�A������ǰt�unever�v�����uer�v�C |
\cx | �ǰt��x����������r���C�Ҧp�A\cM�ǰt�@��Control-M�Φ^���šCx���ȥ�����A-Z��a-z���@�C�_�h�A�Nc�����@�Ó�q���uc�v�r���C |
\d | �ǰt�@�ӼƦr�r���C������[0-9]�C |
\D | �ǰt�@�ӫD�Ʀr�r���C������[^0-9]�C |
\f | �ǰt�@�Ӵ����šC������\x0c�M\cL�C |
\n | �ǰt�@�Ӵ���šC������\x0a�M\cJ�C |
\r | �ǰt�@�Ӧ^���šC������\x0d�M\cM�C |
\s | �ǰt����ťզr���A�]�A�Ů�B�s���šB�����ŵ����C������[\f\n\r\t\v]�C |
\S | �ǰt����D�ťզr���C������[^\f\n\r\t\v]�C |
\t | �ǰt�@�ӻs���šC������\x09�M\cI�C |
\v | �ǰt�@�ӫ����s���šC������\x0b�M\cK�C |
\w | �ǰt�]�A�U���u���������r���C������u[A-Za-z0-9_]�v�C |
\W | �ǰt����D����r���C������u[^A-Za-z0-9_]�v�C |
\xn | �ǰtn�A�䤤n���Q���i����q�ȡC�Q���i����q�ȥ������T�w����ӼƦr���C�Ҧp�A�u\x41�v�ǰt�uA�v�C�u\x041�v�h������u\x04�v&�u1�v�C���h���F�����i�H�ϥ�ASCII�s�X�C. |
\num | �ǰtnum�A�䤤num�O�@�ӥ���ơC���������ǰt���ޥΡC�Ҧp�A�u(.)\1�v�ǰt��ӳs�򪺬ۦP�r���C |
\n | ���Ѥ@�ӤK�i����q�ȩΤ@�ӦV��ޥΡC�p�G\n���e�ܤ�n��������l���F���A�hn���V��ޥΡC�_�h�A�p�Gn���K�i��Ʀr(0-7)�A�hn���@�ӤK�i����q�ȡC |
\nm | ���Ѥ@�ӤK�i����q�ȩΤ@�ӦV��ޥΡC�p�G\nm���e�ܤ֦�nm����o�l���F���A�hnm���V��ޥΡC�p�G\nm���e�ܤ֦�n������A�hn���@�ӫ���rm���V��ޥΡC�p�G�e�������󳣤������A�Yn�Mm�����K�i��Ʀr(0-7)�A�h\nm�N�ǰt�K�i����q��nm�C |
\nml | �p�Gn���K�i��Ʀr(0-3)�A�Bm�Ml�����K�i��Ʀr(0-7)�A�h�ǰt�K�i����q��nml�C |
\un | �ǰtn�A�䤤n�O�@�ӥΥ|�ӤQ���i��Ʀr���ܪ�Unicode�r���C�Ҧp�A\u00A9�ǰt���v�Ÿ��]©ï¿½^�C |
[�s��] �d��
- �H�U�HPHP���y�k�Ҽg���d��
- ���Ҧr��O�_�u�t�Ʀr�P�^��, �r����רæb4~16�Ӧr������
$str = 'a1234';
if (ereg_match("^[a-zA-Z0-9]{4,16}$", $str)) {
echo "���Ҧ��\";
} else {
echo "���ҥ���";
}
?>
- ²�����x�W�Ϫ����Ҩ����r������
$str = 'a1234';
if (ereg_match("^[A-Z]{1}[1-2]{1}[0-9]{8}$", $str)) {
echo "���Ҧ��\";
} else {
echo "���ҥ���";
}
?>