����������ɽ���Ǥ�Unicode�֥��å���Unicode������ץȤ���ꤷ�ơ������ä����ܸ������ʸ����˥ޥå������뤳�Ȥ��Ǥ���ΤǤ��������˺����Ǥ������γФ��ñ¤¡ï¿½
2������WEB+DB Press������ɽ���ͥ����Ƥ��褦�䤯�����ޤ�����(��)�����٤��ʤäƤ����ʤ����Ǥ��������Perl�ǡֺ����եġ�������ɽ���פ���⤷��Java��java.util.regex�ѥå�������PHP��preg�ϴؿ���ereg�ϴؿ���ñ¤¤Þ¤ï¿½ï¿½Æ¡ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ì¤ï¿½ï¿½ï¿½ï¿½ï¿½.NET������ɽ���Υͥ���ñ¤¤¤ï¿½Äºï¿½ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½ï¿½ï¿½PHP�ʳ��Ϥ������Unicode�б���������ɽ�����󥸥�ʤΤǡ�\p{Prop}�Ȥ��ä�������Unicode�ˤ�����ʸ��������(�ץ��ѥƥ�)�������̤ν��η�(������ץ�)��ʸ�������ɾ���ϰ�(�֥��å�)����ꤹ�뤳�Ȥ��Ǥ��ޤ���Unicode�ץ��ѥƥ��δ�ñ����ò¤¤¤ï¿½ï¿½Ä¤ï¿½ï¿½ó¤²¤ï¿½ï¿½
\p{L} | ɽ����ǽ��ʸ�� |
\p{M} | ¾��ʸ�����Ȥ߹�碌�ƻ��Ѥ���ʸ�� |
\p{Z} | ���ڤ�ʸ�� |
\p{S} | ���� |
\p{N} | ���� |
\p{P} | ������ |
\p{C} | L,M,Z,S,N,P�ʳ��Τ��٤Ƥ�ʸ�� |
\p{Ll} | ��ʸ�� |
\p{Lu} | ��ʸ�� |
\p{Lo} | �إ֥饤������ܸ�ʤɤ���ʸ���Ⱦ�ʸ��������ʤ�ʸ���� |
\p{Sc} | �̲ߵ��� |
�Ȥ���Unicode������ץȤξ�����ܸ������Ǥ���Τ�
\p{Katakana} | �������� |
\p{Hiragana} | �Ҥ餬�� |
\p{Han} | ���� |
\p{Latin} | �ѿ��� |
\p{Common} | ���ڡ�����������ʤ� |
�ʤɡ�������Unicode������ץȤޤǥ��ݡ��Ȥ��Ƥ�������ɽ�����󥸥��Perl�Τ��餤���Ǹ��Unicode�֥��å������ܸ������Ǥ���Τ�
\p{InHiragana} | �Ҥ餬�� |
\p{InKatakana} | �������� |
\p{InHalfwidthAndFullwidthForms} | Ⱦ�ѥ������� |
\p{InCJKUnifiedIdeographs} | ���� |
�Ȥ��ä����������ʤߤ�java.util.regex��Perl��Unicode�֥��å�����Ƭ��In��Ȥ�����.NET�ξ�����Ƭ��Is��Ȥ����Ȥ������ۤ�����ޤ���
Unicode������ץȤȥ֥��å��ΰ㤤���ӥߥ硼�˸����뤱�ɡ��֥��å��������ɥ֥��å��򥴥�äȻ��ꤷ����Τ��Ф��ơ�������ץȤ��������˴ط�����ʸ���μ����ľ�ܻ��ꤹ���ΤʤΤǥ֥��å���������Ū���äƴ����Ǹ�����ɤ��ʤȡ����ʤߤ�Unicode��Ϣ�Υɥ�����Ȥˤ���Unicode�ץ��ѥƥ��ȥ�����ץȤ����ܸ��ʸ�Ϥ�ɽ�����Ȥ����
m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x;����ʴ����ˤʤ뤽���ʡ��º�ή�̤��Ƥ���ʸ�ϤϤ�����¿�ͤʤΤǸ��¤Ȥ���̯��ЪΥ���Ƥ��ޤ���������������ʴ����ǤϤ���ޤ���
����Ǥʤˤ��򤷤����Ȥ����ȡ�ʸ���老�Ȥ˥����ʸ������ڤ�ʬ���褦�Ȥ�����ˤ�ñ���
import java.util.regex.*; public class WordSplit { public static void main(String[] args) { String text = "�������ʺ������ʸ�Ϥ�input���ޤ�"; Pattern p = Pattern.compile( "(\\p{InBasicLatin}+|" + " \\p{InHiragana}+|" + " \\p{InKatakana}+|" + " \\p{InCJKUnifiedIdeographs}+)", Pattern.COMMENTS); Matcher m = p.matcher(text); while (m.find()) { String chunk = m.group(1); System.out.println(chunk); } } }�Ȥ�
#!/usr/bin/perl use Encode qw/encode decode/; use strict; my $text = decode('EUC-JP', '�������ʺ�����ΎˎގЎ�����ʸ�Ϥ�input���ޤ�'); my $pat = qr/( \p{InBasicLatin}+ | \p{InHalfwidthAndFullwidthForms}+ | \p{Hiragana}+ | \p{Katakana}+ | \p{Han}+ )/x; while ($text =~ /$pat/g) { print encode('EUC-JP', $1), "\n"; } __END__�Ȥ��񤯤����ǺѤ���ꤷ�ޤ������ʤߤˤ�����¹Ԥ����
���� ���� �� ����� �ˎގЎ��� �� ʸ�� �� input ���ޤ��Ȥ������Ϥ����뤳�Ȥ��Ǥ��ޤ���
�ǡ�����Ϥ����򥵥ݡ��Ȥ��Ƥ��ʤ�PHP�ǡ�������Perl�Τ褦�˻��Ѥ��륨�󥳡��ǥ��󥰤ˤ��碌��ʸ���老�ȤΥ����ɥ֥��å�����ꤷ�Ƥ�����ɬ�פ�����ޤ���������������ʴ�����
<?php $text = '�������ʺ������ʸ�Ϥ�input���ޤ�'; // EUC-JP $pattern = '/( [\x21-\x7E]+ | # Latin-1 #(?:\x8E[\xA6-\xDF])+ | # HankakuKatakana (?:\xA4[\xA1-\xF3])+ | # Hiragana (?:\xA5[\xA1-\xF6])+ | # Katakana (?:[\xB0-\xF4][\x00-\xFF])+ # Kanji )/x'; if (preg_match_all($pattern, $text, $capture)) { echo join("\n", $capture[1]), "\n"; } ?>PHP��Apache 2�Ǥ����Ѥ���Ƥ���PCRE�饤�֥��Τ�������java.util.regex����οͤΤ������ǡ����ʤ����ʬ�ǺǶ��Perl�饤��������ɽ�������ѤǤ��ޤ����ʤΤ���ꤵ���Web�������ˤ���褦�ʥ�������ͥ������Ū��ñ�����ѤǤ���ΤǤ⤷��¸���ʤ���������ä��㤤�ޤ��������󻲾Ȥ��Ƥߤ뤳�Ȥ򤪴��ᤷ�ޤ��Ǥ��������ޤ��Ǻܤ����ƤͰ���᡼���Ф��Ȥ�����
����ä�PHP��mb_ereg�ط���4.x��5.x�ǰ㤦������ȤäƤ��ơ�5.x�ϵ��֤Ǥ����ΤϤۤܳ���Ȥ���4.x�����Ԥ�mbregex�饤�֥���Ȥ�³����Τ���������äȵ��֤˰ܹԤ���Τ����褯�狼��ʤ������ǿʤ�ǻȤ����ˤʤ�ʤ�櫡�������ȤäȤ�PHP 5.x�������ˤʤ���̤˻�Ϻ���ʤ���Ǥ������Ϥơ����ȥɥ�����Ȥ�̵������������Ǥ����ɤ���Ǥ���PHP����οͤϡ�������ϻ���ڤΥѡ��ƥ��������ͤǤ����Ĥ�Rasmus Lerdorf�����ۤ��Ƥߤ��ꤷ�ޤ���������Ϥ����դ˴ؤ�äƤʤ��Ȼפ��Τ��֤��Ȥ��ơ��Ȥꤢ������ҤˤǤ�Ԥ������������᤹��