
ShiftJIS::Regexp - Shift-JISũ꽳K\»

±ÌPODÍAShift-JISÅ©êĢܷB
' ' ª HIRAGANA LETTER A É©¦Ü·© ?
ܽA'\' ª REVERSE SOLIDUS ÅÍÈ YEN SIGN É©¦Ü·© ?
³àȯêÎtHgð³µ¢àÌÉð·µ½ûªæ¢Åµå¤B ( é¢Í POD ªÏÈÏ·ð³ê½Ì©àmêܹñB)

use ShiftJIS::Regexp qw(:all);
match(' ¨PQ', '\p{Hiragana}{2}\p{Digit}{2}');
# ±êÍsƿŷB
match(' ¨PQ', '\pH{2}\pD{2}');
match(' ¢¢¤¤¤', '^ ¢+¤{3}$');
replace($str, 'A', '`', 'g');

±ÌW [ÍA³K\»ðShift-JISÅ¢ÄPerlÅp¢é½ßÌ ô©ÌÖðñµÜ·B
±ÌW [ɨ¢Ä³µ¢ Shift-JIS ¶ÍA Ⱥ̳K\»É}b`·éàÌÅȯêÎÈèܹñB
[\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]
}`oCgGR[fBOɨ¯éë}b`ðð¯é½ßA ±ÌW [ÅÍ}b`Oªñ¶«EãÅsíêé½ßÌ ³K\»ð^¦çê½p^[ÉtÁµÄ¢Ü·B
perlfaq6 Ì "How can I match strings with multibyte characters?" ðQÆB
ܽAãqÌuë}b`ðð¯évàQƵľ³¢B
re(PATTERN)
re(PATTERN, MODIFIER)Shift-JISũ꽳K\»ðPerlÅp[XÂ\Èæ¤ÉÏ·µÄԵܷB
PATTERNÉÍAShift-JISũ꽳K\»ð¶ñƵÄ^¦Ü·B
MODIFIERƵÄÍAȺÌCüqi¡wèÂjð¶ñÅ^¦Ü·B
i å¶^¬¶ðæÊµÈ¢ (ASCIIAt@xbg)
I å¶^¬¶ðæÊµÈ¢ (MV¶AL¶ASpe¶)
j ½¼¼ÆÐ¼¼ðæÊµÈ¢iµ©µ¼pм¼Íl¶³êܹñj
s ¶ñðPêsƵĵ¤
m ¶ñð¡sƵĵ¤
x obNXbV
ÌãܽͶNXÌÉÈ¢ó¶ (ÂÜè [\x20\n\r\t\f])
ð³·éBµ©µRgÍF¯µÜ¹ñB
o êñp[XµÄiRpCÅÍ èܹñ!) ÊðàÉLbV
µÜ·B
re('^Rs
[^[?$')ÍA'Rs
[^['ܽÍ'Rs
[^'É}b`µÜ·B
re('^ç¾$','j') ÍA'ç¾', 'N_', 'çN¾', ÈÇÉ}b`µÜ·B
oCüq
while (<DATA>) {
print replace($_, '(perl)', '<strong>$1</strong>', 'igo');
}
ÍAÌR[hæèàø¦ªæ¢Åµå¤
while (<DATA>) {
print replace($_, '(perl)', '<strong>$1</strong>', 'ig');
}
ȺÈçãÒÅÍÖªÄÎêé½ÑÉñp^[ðp[X·é©çÅ·B
match(STRING, PATTERN)
match(STRING, PATTERN, MODIFIER)gÝÝÌ m// ZqÌæ¤É®ìµÜ·B ½¾µA@list = $string =~ m/PATTERN/g ÆÙÈèA LbV
ÌÊðYê¸Ét¯Ä¾³¢B ÊÍ©®IÉÍt«Ü¹ñB
$string = " ¢¤¦¨";
@list = match($string, '[¢¦]', 'g'); # ¾ßBÊÉS~ª¬¶é!
@list = match($string,'([¢¦])','g'); # ǵB
PATTERNÉÍp^[ð¶ñƵÄ^¦Ü·B
MODIFIERÉÍCüqð¶ñƵÄ^¦Ü·B
i,I,j,s,m,x,o re()Ìà¾ð²¾³¢B
g O[o}b`
z p^[ªó¶ñÉ}b`·éàÌŠ鱯ðÖÉmç¹éB
(·ÝܹñB±êðg¤×«©Ç¤©ð©®IÉÍ»ÊūܹñB)
zCüq
p^[ªó¶ñÉ}b`·éàÌÅ éêAzCüqªÈ¢Æ ÈºÌæ¤ÉPñ¾¯}b`·×«Æ±ëðQñ}b`·é±Æª èÜ·B zCüqÍA±êðh¬Ü·B
replace('ACECCG', '(?=C)', ' ', 'g'); # A CE C CG
replace('ACECCG', '(?=C)', ' ', 'gz'); # A CE C CG
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT)
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT, MODIFIER)gÝÝÌ s/// ZqÌæ¤É®ìµÜ·B
æêÏÆµÄXJ[ÖÌt@Xðn·ÆAXJ[ðÏXµÄ u·ñðԵܷB
æêÏÆµÄ¶ñit@XÅÍÈ¢jðn·ÆA^¦çê½XJ[Í ÏX¹¸Au·ã̶ñðԵܷB
my $str = 'àPTROOOO~';
1 while replace(\$str, '(\pD)(\pD{3})(?!\pD)', '$1C$2');
print $str; # àPCTROCOOO~
MODIFIERÉÍCüqð¶ñƵÄ^¦Ü·B
i,I,j,s,m,x,o re()Ìà¾ð²¾³¢B
g,z match()Ìà¾ð²¾³¢B
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING)
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING, LIMIT)gÝÝÌ split() ZqÌæ¤É®ìµÜ·B
XJ[ReLXg^{ChReLXgÅÁêzñ @_ ÉÊðüêé±ÆÍµÜ¹ñB XJ[ReLXgÅÍA©Â©Á½tB[hÌðÔ·¾¯Å·B
PATTERNÉÍAShift-JISũ꽳K\»ð¶ñƵÄ^¦Ü·B
jsplit('^', ' ¢¤^¦¨^');
PATTERN É ' ' ð^¦ÄàÁÊÈÓ¡Í èܹñB PÉAgÝÝÌ CORE::split / / ƯlÉAêÂÌXy[XÉæèª·é¾¯Å·B
óÞ¶i±ÌêAaÔuiSpXy[XjàóÞ¶ÆÝȵܷjÅ ªµ½¢êÉÍAPATTERNÉ¢è`lð^¦é©A splitspace() ÖðgÁľ³¢B
jsplit(undef, ' @ This is @ perl.');
splitspace(' @ This is @ perl.');
# ('This', 'is', 'perl.')
p^[ÉCüq𯽢êÍA³¼zñ [PATTERN, MODIFIER] ð æêøÉp¢é±ÆªÅ«Ü·B
jsplit([ ' ', 'jo' ], '01234 ¢¤¦¨ACEGI');
é¢ÍAßÝCüqiãqjðp¢é±ÆàūܷB
jsplit('(?jo) ', '01234 ¢¤¦¨ACEGI');
MODIFIERÉÍCüqð¶ñƵÄ^¦Ü·B
i,I,j,s,m,x,o re()Ìà¾ð²¾³¢B
splitspace(STRING)
splitspace(STRING, LIMIT)gÝÝÌ split(' ', STRING, LIMIT) Ìæ¤É®ìµÜ·B óÞ¶iaÔuiSpXy[XjðÜÞjÉæè ¶ñ STRING ðªµAÊÌXgðԵܷB ¶ñæªÌóÞ¶ÍtB[hðìèܹñB
Ó: splitspace(STRING, LIMIT) Í jsplit(undef, STRING, LIMIT) ƿŷB
splitchar(STRING)
splitchar(STRING, LIMIT)gÝÝÌ split(//, STRING, LIMIT) Ìæ¤É®ìµÜ·B ¶ñ STRING ð¶²ÆÉªµ½XgðԵܷB
Ó: splitchar(STRING, LIMIT) Í jsplit('', STRING, LIMIT) ƿŷB
³K\» Ó¡
^ ¶ñÌæªÉ}b`µÜ·B
½¾µ 'm' CüqðgÁ½êÍAsÌæªÉ}b`µÜ·B
$ ¶ñö©AöÌüs¶ \n ÌOÉ}b`µÜ·B
½¾µ 'm' CüqðgÁ½êÍAsÌöÉ}b`µÜ·B
. üs¶ \n ÈOÌCÓÌê¶É}b`µÜ·B
½¾µ 's' CüqðgÁ½êÍA\nðÜÞCÓÌê¶É}b`µÜ·B
\A ¶ñÌæªÉ}b`µÜ·B
\Z ¶ñö©AöÌüs¶ \n ÌOÉ}b`µÜ·B
\z ¶ñö¾¯É}b`µÜ·B('(?!\n)\Z' Ư¶)
\C êÂÌINebgÉ}b`µÜ·B
\j CÓÌê¶É}b`µÜ·B
ÂÜè±ÌW
[ž¤ [\0-\x{FCFC}] Ư¶Å·B
\J üs¶ \n ÈOÌCÓÌê¶É}b`µÜ·B
ÂÜè±ÌW
[ž¤ [^\n] Ư¶Å·B
* \j Æ \J ÆÍA±ÌW
[Éæég£Å·Bá¦ÎA
match($_, '(\j{5})\z') ÍöÌܶi\n ðÜÞjðԵܷB
match($_, '(\J{5})\Z') ÍöÌܶi\n ÍjðԵܷB
\a x (BEL)
\b ãÞ (BS) * ¶NX̾¯ *
\e GXP[v (ESC)
\f ®è (FF)
\n üs (LF)
\r A (CR)
\t
½^u (HT)
\0 i¶ (NUL)
\ooo êoCg¶ðªiÅwè
\xhh êoCg¶ð\ZiÅwè
\x{hhhh} ñoCg¶ð\ZiÅwè
\c[ §ä¶
á¦Î \012 \123 \x5c \x5C \x{824F} \x{9Fae} \cA \cZ \c^ \c? ÈÇB
ÊíÌ`® Ȫ` POSIX`® ¶¨æÑ¶ÌÍÍÉæéè`
\d [0-9]
\D [^0-9]
\w [0-9A-Z_a-z]
\W [^0-9A-Z_a-z]
\s [\t\n\r\f ]
\S [^\t\n\r\f ]
\p{Xdigit} \pX [[:xdigit:]] [0-9A-Fa-f]
\p{Digit} \pD [[:digit:]] [0-9O-X]
\p{Upper} \pU [[:upper:]] [A-Z`-y]
\p{Lower} \pL [[:lower:]] [a-z-]
\p{Alpha} \pA [[:alpha:]] [A-Za-z`-y-]
\p{Alnum} \pQ [[:alnum:]] [0-9A-Za-zO-X`-y-]
\p{Word} \pW [[:word:]] [_\p{Digit}\p{European}\p{Kana}\p{Kanji}]
\p{Punct} \pP [[:punct:]] [!-/:-@[-`{-~¡-¥A-IL-Q\-¬¸-¿È-ÎÚ-èð-÷ü-¾]
\p{Graph} \pG [[:graph:]] [\p{Word}\p{Punct}]
\p{Print} \pT [[:print:]] [\x20\x{8140}\p{Graph}]
\p{Space} \pS [[:space:]] [\x20\x{8140}\x09-\x0D]
\p{Blank} \pB [[:blank:]] [\x20\x{8140}\t]
\p{Cntrl} \pC [[:cntrl:]] [\x00-\x1F\x7F]
\p{ASCII} [[:ascii:]] [\x00-\x7F]
\p{Roman} \pR [[:roman:]] [\x21-\x7E]
\p{Hankaku} \pY [[:hankaku:]] [\xA1-\xDF]
\p{Zenkaku} \pZ [[:zenkaku:]] [\x{8140}-\x{FCFC}]
( \p{^Zenkaku} \p^Z [[:^zenkaku:]] [\x00-\x7F\xA1-\xDF] )
\p{X0201} [[:x0201:]] [\x20-\x7F\xA1-\xDF]
\p{X0208} [[:x0208:]] [\x{8140}-¬¸-¿È-ÎÚ-èð-÷üO-X`-y--ñ@--¶¿-Ö@-`p--¾-r-ê¤]
\p{X0211} [[:x0211:]] [\x00-\x1F]
\p{JIS} \pJ [[:jis:]] [\p{X0201}\p{X0208}\p{X0211}]
\p{NEC} \pN [[:nec:]] [\x{8740}-\x{875D}\x{875f}-\x{8775}\x{877E}-\x{879c}\x{ed40}-\x{eeec}\x{eeef}-\x{eefc}]
\p{IBM} \pI [[:ibm:]] [\x{fa40}-\x{fc4b}]
\p{Vendor} \pV [[:vendor:]] [\p{NEC}\p{IBM}]
\p{MSWin} \pM [[:mswin:]] [\p{JIS}\p{NEC}\p{IBM}]
\p{Halfwidth} [[:halfwidth:]] [!#$%&()*+,./0-9:;<=>?@A-Z\[\\\]^_`a-z{|}~]
\p{Fullwidth} \pF [[:fullwidth:]] [Iij{CD^O-XFGH`-ymnOQM-obpP]
\p{Latin} [[:latin:]] [A-Za-z]
\p{FullLatin} [[:fulllatin:]] [`-y-]
\p{Greek} [[:greek:]] [-¶¿-Ö]
\p{Cyrillic} [[:cyrillic:]] [@-`p-]
\p{European} \pE [[:european:]] [A-Za-z`-y--¶¿-Ö@-`p-]
\p{HalfKana} [[:halfkana:]] [¦-ß]
\p{Hiragana} \pH [[:hiragana:]] [-ñJKTU]
\p{Katakana} \pK [[:katakana:]] [@-[RS]
\p{FullKana} [\pH\pK] [[:fullkana:]] [-ñ@-JK[TURS]
\p{Kana} [[:kana:]] [¦-ß-ñ@-JK[TURS]
\p{Kanji0} \p0 [[:kanji0:]] [V-Z]
\p{Kanji1} \p1 [[:kanji1:]] [-r]
\p{Kanji2} \p2 [[:kanji2:]] [-ê¤]
\p{Kanji} [\p0\p1\p2] [[:kanji:]] [V-Z-r-ê¤]
\p{BoxDrawing} [[:boxdrawing:]] [-¾]
\p{NEC} ÍANECÁê¶ÆNECIèIBMg£¶É}b`µÜ·B \p{IBM} ÍAIBMg£¶É}b`µÜ·B \p{Vendor} ÍA}CN\tg (Microsoft) CP932Ìx_[è`¶É}b`µÜ·BÂÜèA[\p{NEC}\p{IBM}] ƿŷB \p{MSWin} ÍA}CN\tg (Microsoft) CP932̶É}b`µÜ·B\p{Kanji0} ÍAJIS X 4061 ÌŬ¿¶NX̶É}b`µÜ·B \p{Kanji1} ÍAJIS X 0208 Ìæê
¿É}b`µÜ·B \p{Kanji2} ÍAJIS X 0208 Ìæñ
¿É}b`µÜ·B \p{Kanji} ÍAJIS X 4061 Ìî{¿¶NX̶É}b`µÜ·B\p{Prop}, \P{^Prop}, [\p{Prop}] ÈÇÍݢɿŷB ±ÌâWÍA\P{Prop}, \p{^Prop}, [\P{Prop}], [^\p{Prop}] ÈÇÅ\·±ÆªÅ«Ü·B\pP, \P^P, [\pP] ÈÇÍݢɿŷB ±ÌâWÍA\PP, \p^P, [\PP], [^\pP] ÈÇÅ\·±ÆªÅ«Ü·B[[:class:]] Í [^[:^class:]] ƿŷB ±ÌâWÍA[[:^class:]] Ü½Í [^[:class:]] Å·B\p{Prop}, \P{Prop}, [:class:] Ì\»É¨¢ÄA Prop ¨æÑ class ̪ÅÍAå¶^¬¶Ìá¢Í³³êÜ·B á¦Î \p{digit}, [:BoxDrawing:] ÈÇðp¢é±ÆàūܷB\p{Prop} ¨æÑ \P{Prop} Ì\»É¨¢ÄAÚª« Is ¨æÑ In (á¦Î \p{IsProp}, \P{InProp}, etc.) ðCÓÉt¯é±ÆªÅ«Ü·B µ©µÚª« Is ¨æÑ In Íå¶^¬¶Ìá¢ðæÊµÜ·ÌÅA \p{isProp}, \p{ISProp} ÈÇÍsÂÅ·B¶NXÌÉÍAe¶A^¶Aè`ÏݶNXð üê鱯ªÅ«Ü·B ܽA¶NXÅÍA¶ÌÍÍðg¤±ÆªÅ«Ü·B ¶ÌÍÍÌ[_ÍAe¶©^¶ÅwèµÜ·B
Shift-JIS ¶ÌÍ: 0x00 .. 0x7F, 0xA1 .. 0xDF, 0x8140 .. 0x9FFC, 0xE040 .. 0xFCFC.
»êä¦ [\0-\x{fcfc}] ÍAShift-JIS ÌCÓÌê¶É}b`µÜ·B
¶NXÅÍAShift-JIS¶ÆµÄs³ÈoCgܽÍoCgñÍg¦Ü¹ñ (á¦Î re('[\xA0-\xFF]'))BG[ÉÈèÜ·B
o[W 0.13 ©ç POSIX Ì¿¶NX [=x=] ªT|[g³êÜ·B á¦ÎA[[= =]] Í [@§ A±] ÆA [[=P=]] Í [pPo] ÆA[[=4=]] Í [4S] ÆA»ê¼ê¿Å·B ±êçÍA¶NXÌÅ [[=c=]]A[[=p=][=e=][=r=][=l=]] Ìæ¤ÉµÄ g¤±ÆªÅ«Ü·B
[=x=] ÌÉÍACÓ̶eܽÍ^¶ \xhh, \x{hhhh} ð p¢é±ÆªÅ«Ü·B¿¶NXÉ®·é¶Ì¤¿AÇ̶ðgÁÄà ©Ü¢Ü¹ñBá¦ÎA[= =], [=A=], [=\x{82A0}=], [=\xB1=] ÈÇÍAݢɯ¶Ó¡ð¿Ü·B
[[=©=]] Í '©', 'J', '¶', 'ª', 'K', '¶Þ', '' É}b`µÜ·B('¶Þ' Íñ¶Å·ªAÆvfƵÄÍêÂÅ·B ÷¹A¼÷¹ðàÂJiÌÆvfÍA ÷¹A¼÷¹ð\·ñ¶Ì¼pм¼©çÈé¶ñðÜÝÜ·B
[[===]] Í EQUALS SIGN © FULLWIDTH EQUALS SIGN Æ}b`µÜ·B [[=[=]] Í LEFT SQUARE BRACKET © FULLWIDTH LEFT SQUARE BRACKET Æ}b`µÜ·B [[=]=]] Í RIGHT SQUARE BRACKET © FULLWIDTH RIGHT SQUARE BRACKET Æ}b`µÜ·B [[=\=]] Í YEN SIGN © FULLWIDTH YEN SIGN Æ}b`µÜ·B
g£³K\» (?{ ... }) Ü½Í (??{ ... }) ÍA ñoCg¶ÉÁÉÓð¥í¸Ép[X³êÜ·B
ZL
eBãÌRÉæèA(?{ ... }) ¨æÑ (??{ ... }) Í Ö match() â replace() Åg¤±ÆªÅ«Ü¹ñB
±êçÍAre() ÖÉæÁÄPerlÉp[XÂ\ȳK\»ÉÏ·µ½Ì¿A ȽÌR[hÌXR[vÌųK\»ðRpCµÄ¾³¢B use re 'eval'; Ì龪KvÉÈéŵå¤B
use ShiftJIS::Regexp qw(:all);
use re 'eval';
$::res = 0;
$_ = '|' x 8;
my $regex = re(q/
\j*?
(?{ $cnt = 0 })
(
| (?{ local $cnt = $cnt + 1; })
)*
|||
(?{ $::res = $cnt })
/, 'x');
/$regex/;
print $::res; # 5
o[W 0.15 ©çßÝCüqªg£³êܵ½B
ßÝCüq (?iIjsmxo) ÍAp^[ÌæªÉ éêA ܽÍp^[Ìæªª ^, \A, \G Ì¢¸ê© Å ÁÄßÝCüqª»Ì¼ãÉ éêÉÀèA {W
[Æ©ÌCüq I, j, o ðÜޱƪūܷB
e.g. (?sm)pattern ^(?i)pattern \G(?j)pattern \A(?ijo)pattern
Perl 5.005 ÈOÅàAmatch('G', '(?i)g') ͳµUÆÈèÜ·B ȺÈç±êÍ match('G', 'g', 'i') Ìæ¤É©çÅ·B
: 'G' ÌæñoCgÍ 'G' Å èA'g' ÌæñoCgÍ 'g' Å·B
±ÌW
[ÍA u·Zqɨ¯éCüq 'e' â while-ßÉæé[vðT|[gµÄ¢Ü¹ñB
±êçÌ@\ðp·éÉÍAÊíÌ\¶iÂÜèAgÝÝÌZq m// â s///ðgp·éjðÊ·Kvª èÜ·B
êoCg¶ªñoCg¶ÌæñoCgÉ}b`µ½èA ñoCg¶ª¶«EÌOÆãÌñoCgÉ}b`µ½èÆ¢Á½ ë}b`ðð¯é½ßA³K\» '\A(\j*?)' Ü½Í '\G(\j*?)'ð p¢é±ÆªÅ«Ü·B
±ÌêA'(\j*?)' É $1 ðγ¹A{ÌãûQÆÍA$2 ©çnß鱯ðYêȢž³¢B
á1
use ShiftJIS::Regexp qw(re);
$_ = ' ¢¤¦¨ACEGI¿ Vtgihr';
my $regex = re('\G(?:\j*?)(\pK)');
# Ü½Í my $regex = re('\R{padG}(\pK)');
while (/$regex/go) {
print "found a katakana: $1\n";
}
á2
use ShiftJIS::Regexp qw(re);
use ShiftJIS::String qw(strrev); # Shift-JISÅÌ scalar reverse()
my $regex = re('\G(\j*?)(\w+)');
# Ü½Í my $regex = re('(\R{padG})(\w+)');
foreach ('s/Perl/Camel/g', '(ACEGI)AIUEO-¿') {
(my $str = $_) =~ s/$regex/$1.strrev($2)/geo; # $1. ðt¯é
print "$str\n";
}
Ó: ñíÉ·¢¶ñãÅõðs¤êA \G(\j*?) ÌãíèÉÁÊȳK\» \R{padG} ðp¢éÙ¤ªÀSÆvíêÜ·B ȺÈçA\R{padG} ÌÙ¤ª * wèqÌJÔµñªå«ÈèÉA JÔµÌãÀÉB·ém¦ªáÈé©çÅ·B

±ÌW [Åͳµ¢ Shift-JIS ¶ñÌ¶Í ÈºÌ³K\»É}b`µÈ¯êÎÈèܹñB
[\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]
O\[X̶ñÍA»êª³µ¢ Shift-JIS ¶ñÅ éÆ ª©ÁÄ¢éêð¢Ä ShiftJIS::String W
[ÌÖ issjis() ðp¢ÄmF·×«Å·B
³µÈ¢ Shift-JIS ¶ñðg¤ÆÏÈÊÉÈ鱯ª èÜ·B i³µÈ¢ Shift-JIS ¶ñðgÁ½êAÇñÈÊÉÈé©A ½àÜÁĢܹñÌÅA½àúÒµÄÍ¢¯Ü¹ñBj
Shift-JIS ÌñoCg¶ÌÉÍAæñoCgª [\x40-\x7E]A·Èí¿
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Å éà̪ èÜ·B
Perl Ì\¶ðÍÅÍA±Ìæ¤ÈoCgÉ墀 ÁÊÈͳêĢܹñÌÅAâ誶·é±Æª èÜ·B á¦ÎAe "\" Ív½IG[ðø«N±µÜ·B ȺÈçAæñoCgÌ 0x5C ªÂ¶NH[gðGXP[v·é©çÅ·B
OÌt@C©çÇÝoµ½êÍA±ÌâèÍN±èܹñªA XNvgð Shift-JIS ÅÉÍ\ªÈÓªKvÅ·B
Shift-JISÌe¶ñðìé½ßÉÍA VONH[gÌqAhNi<< ''jâA ^¶ \xhh ðg¤Ù¤ªæ¢Åµå¤B
Shift-JIS ÌæñoCgÉoÄÈ¢ASCII}`¶i[\x21-\x3F]jÍ ÈºÌÊèB
!"#$%&'()*+,-./0123456789:;<=>?
NH[gZqÌf~^ƵÄÍA±êðg¤Ææ¢©àµêܹñB

^¶ \U, \L, \Q, \E ¨æÑÏWJÍl¶³êĨèܹñB KvÈçA"" (or qq//) ZqðgÁľ³¢B
Pê«Eðµ¤^¶ \b ¨æÑ \B ͳµ®ìµÜ¹ñB
Cüq i, I ¨æÑ j ÍA\p{}, \P{}, POSIX [: :]. (á¦Î \p{IsLower}, [:lower:] ÈÇ) ÉÍìpµÜ¹ñB »Ì½ßAre('\p{Lower}', 'iI') ÌãíèÉ re('\p{Alpha}') ðgpµÄ¾³¢B
ãÇݾ¾ (á¦Î (?<=[A-Z])) ª¼OÌñoCg¶ÌæñoCgÉ ëÁÄ}b`·é±ÆÉÍγêĢܹñB á¦ÎA match("ACE", '(?<=[A-Z])(\p{Kana})') Í ('C') ðԵܷªAà¿ëñëèÅ·B
T¦ßÈÊwèqðÜÞp^[ (á¦Î .??â\d*?) ÍA ó¶ñÆ}b`·é±ÆªÅ«Ü·ªAjsplit() Ìp^[ƵÄp¢½êA gÝÝÌ split() ©ç\z³êé®ìÆÙÈ鱯ª èÜ·B

SADAHIRO Tomoyuki <SADAHIRO@cpan.org> åA ms
Copyright(C) 2001-2007, SADAHIRO Tomoyuki. Japan. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
