JavaScriptã®æ£èŠè¡šçŸã£ãŠïŒäœ¿ãæ¹ããã䜿ãåèªã詳解ïŒ
JavaScriptãåŠç¿ããŠããåå¿è ã®æ¹ã«åããŠãJavaScriptã®æ£èŠè¡šçŸã®æžãæ¹ã«ã€ããŠã玹ä»ããŠããŸããJavaScriptã®æ£èŠè¡šçŸãšã¯äœããšãã£ãåºæ¬çãªãšãããããæ£èŠè¡šçŸã§äœ¿ãããŠããç¹æ®æåã®çµã¿åããã§ããã«ããŠå ·äœçã«æ£èŠè¡šçŸã掻çšããŠããã®ãããŸãæ£èŠè¡šçŸã§äœ¿çšããã¡ãœããã®äœ¿ãæ¹ã«ã€ããŠè©³ãã解説ããŠãããŸãããJavaScriptã®æ£èŠè¡šçŸã£ãŠãªã«ïŒã
ãJavaScriptã®æ£èŠè¡šçŸã®å
·äœçãªæŽ»çšæ¹æ³ãç¥ãããïŒã
ãJavaScriptã®æ£èŠè¡šçŸã§äœ¿çšããã¡ãœããã£ãŠïŒã
ãã®èšäºã§ã¯ãã®ãããªçåã«çããŠãããŸãã
JavaScriptãåŠç¿ããŠãããšå¿
ãéããªããŠã¯ãããªãã®ããæ£èŠè¡šçŸã®åŠç¿ã§ããåŠç¿è
ã®ããã¯ãåºãŠããŠããªããšãªãæå³ã¯çè§£ããã€ããã§ãçè§£ã§ããŠããªãããšãå€ãã£ããããŸãããã
ããã§ãä»åã¯ãJavaScriptã®æ£èŠè¡šçŸãšã¯äžäœã©ããªã¢ããªã®ãããŸãããšãã«äœ¿ãããç¹æ®æåãã¡ãœãããªã©ã®ãã¯ããã¯çãªéšåã«ã€ããŠã®è§£èª¬ãè¡ãªã£ãŠãããŸãã
JavaScriptã®æ£èŠè¡šçŸãšã¯ïŒåºæ¬çãªäœ¿ãæ¹ãïŒ
æ£èŠè¡šçŸã¯ãç¹æ®æåãšç¹æ®æåãçµã¿åãããŠããã¿ãŒã³ããäœãããšã«ãã£ãŠããã¿ãŒã³ã«é©åããç¹å®ã®æåãåãåºãããšãåºæ¥ãããã«ãªãããšã§ãã
å°ãé£ãããããããªãã®ã§ã以äžã«äŸãäœæããŸããã
æ£èŠè¡šçŸã®ãã¿ãŒã³äŸ
/p{2}/
äžèšã¯æ£èŠè¡šçŸã®ãã¿ãŒã³äŸã®1ã€ãªã®ã§ãããã2å以äžã®âpâã®çµã¿åãããã«ãããããæ£èŠè¡šçŸã§ãã
äŸãã°ãAppleãšããåèªã¯ãppãšïŒã€ç¶ããŠããpã®çµã¿åãããããã®ã§ã/p{2}/ãšããæ£èŠè¡šçŸã¯ãŸãã«ãã®ãã¿ãŒã³ã衚ããæååãšèšãããšã«ãªãã®ã§ãã
ãããããAprilãšããåèªã ãšããããpã¯ïŒã€ãããªãã®ã§ã /p{2}/ã«ã¯åœãŠã¯ãŸããŸããã
ãã®ããã«ããã¿ãŒã³ã«é©åããç¹å®ã®æååãåãåºãããšãåºæ¥ãããã«ãªãããšããæ£èŠè¡šçŸããšå®çŸ©ããŠããŠããã®ãåãåºãããšããããããããããšè¡šçŸããŠããŸãã
JavaScriptã®æ£èŠè¡šçŸã§ãã䜿ãããèšå·ãšæå³
åºæ¬çã«æ£èŠè¡šçŸã§ã¯ãã/èšå·/ãã®ããã«ã/ïŒã¹ã©ãã·ã¥ïŒãã®äžã«å ¥ããŠãããŸããããã¯åºæ¬çãªæ±ºãŸããªã®ã§èŠããŠãããšããã§ãããã
以äžã§ã¯ãJavaScriptã®æ£èŠè¡šçŸã§ãã䜿ãããèšå·ãšæå³ã«ã€ããŠã玹ä»ããŠããŸãããã¿ãŒã³ãèŠããŠããŸãã°ç°¡åãªã®ã§ãèŠããŠãããŸãããã
1. ^(ã«ã¬ãã)
ã^ïŒã«ã¬ããïŒãã¯å
¥åã®å
é ã«ãããããŸãã
/^a/ ã§ããã°ãabcãšããæååã®å
é ã§ããaã«ãããããŸããcbaã§ã¯åå¿ããŸããã
2. $(ãã«)
å
¥åã®æ«å°Ÿã«ãããããŸãã
/a$/ã§ããã°ãbcaã«ã¯æåŸã®æåaããããããŸãããacbã«ã¯ãããããŸããã
3. ïŒã¢ã¹ã¿ãªã¹ã¯ïŒ
çŽåã®0å以äžã®ç¹°ãè¿ãã«ãããããŸãã/ab/ã§ããã°ãaãŸãã¯abbbb...ã«ãããããŸãããbbbbã«ã¯ãããããŸããã
4. [ ]
ã«ãã³ã®äžã®ä»»æã®1æåãšäžèŽããŸããã-ãã§ç¯å²æå®ãå¯èœã§ãã
/[a-z]/ã§ããã°ãa~zãŸã§ã®å
šãŠã®ã¢ã«ãã¡ãããã«ãããããŸãã
5. +ïŒãã©ã¹ïŒ
çŽåã®æåã®äžå以äžã®ç¹°ãè¿ãã«ãããããŸãã
/ab+/ãªããabãabbbâŠ.ã«ãããããŸãããbbbb...ã«ã¯ãããããŸããã
6. ?ïŒã¯ãšã¹ãã§ã³ïŒ
çŽåã®æåã®0åãããã¯ã1åã®åºçŸã«ãããããŸãã
/hoge?/ãªããhogeãhogã«ãããããŸãããhogeeeeã«ã¯hogeã«ã®ã¿éšåçã«ãããããç¶ãeeeã«ã¯ãããããŸããã
7. {n}
çŽåã®æånåã®ç¹°ãè¿ããšãããããŸãã[0-9]{3}ã¯3æ¡ã®æ°å
8. {n,}
çŽåã®æånå以äžã®ç¹°ãè¿ããšãããããŸãã[0-9]{3,}ã¯ïŒæ¡ä»¥äžã®æ°å
9. {m,n}
çŽåã®æåãm~nåãšäžèŽããŸãã[0-9]{3,5}ã¯3~5æ¡ã®æ°å
10. .ïŒãããïŒ
æ¹è¡æå以å€ã®ã©ã®1æåã«ããããããŸãã
/.n/ãªãã\narrow street was on an appleã®on anã®nã«ã¯ãããããŸãããnarrowã®nã¯æ¹è¡æåã®äžéšãªã®ã§ãããããŸããã
æ£èŠè¡šçŸã§äœ¿ãã¡ãœããã«ã€ããŠ
ä»åã¯ãJavaScriptã®æ£èŠè¡šçŸã§äœ¿çšããïŒã€ã®ã¡ãœããã«ã€ããŠã玹ä»ããŠãããŸãã
1. matchã¡ãœãã
æ£èŠè¡šçŸã§éåžžã«ãã䜿ãããã¡ãœããã§ãã
matchã¯Stringãªããžã§ã¯ãã®çµã¿èŸŒã¿ã¡ãœããã§ãããæååãæ€çŽ¢ããã®ã«åªããæ©èœãæã£ãŠããŸãã
ã䜿çšäŸã
var users = 'user-0, user1, users-d, myuser';
var regexp = new RegExp(/user-\d/, 'g');
var result = users.match(regexp);
console.log(result[0]);
ãå®è¡çµæã
user-0
ãã®å Žåãæ£èŠè¡šçŸãã¿ãŒã³ãå©çšããŠãvar regexp = new RegExp(/user-\d/);ã®ãšããã§ããuser-ãããå§ãŸãæååã®ãã¿ãŒã³ãæ€åºããŠããŸãã
ã\dãã¯æ°åã瀺ããŠããŠãã[0-9]ããšåçŸ©ã®æ£èŠè¡šçŸã§ããæ£èŠè¡šçŸã®ãgãã¯ãã°ããŒãã«ãµãŒããè¡ããªãã·ã§ã³ãã©ã°ã§ãå šäœã®æååå šãŠãèŠãŠãããããè¿ããŠããŸãã
ã€ãŸããuser-æ°åãããå§ãŸãæååã¯ãuser-0ãã ããªã®ã§ãå®è¡ãããšãã®ãããªçµæã«ãªãããã§ãã
2. searchã¡ãœãã
ã䜿çšäŸã
var str = 'user-12, user-John, user-Mary, user-672';
var result = str.search( /user-\d{3}/ );
console.log( result );
ãå®è¡çµæã
31
ãã®å ŽåããŸãæ°äººåã®ãŠãŒã¶ãŒåãstrã«æ ŒçŽããŠããŸãã
ãã®åŸãæ£èŠè¡šçŸãã¿ãŒã³/user-\d{3}/ãšsearchã¡ãœãããå©çšããŠãuser-ããå§ãŸã3æ¡ã®æ°åããã€ãŠãŒã¶ãŒãæ€åºåºæ¥ãããã«ããŠããããã§ãã
user-3æ¡ã®æ°åãšãã圢ã«ãªã£ãŠããã®ã¯ãuser-672ã ãã§ãããã®æã®user-672ã®äœçœ®ãæååã®é ïŒ0ããæ°ããŠïŒãã31æåç®ã«ããŠããã®ã§ãå®è¡çµæã¯31ãšãªããŸãã
3. testã¡ãœãã
testã¡ãœããã¯ãæ£èŠè¡šçŸã«åèŽãããã¿ãŒã³ããtrue/falseãã®ã©ã£ã¡ãã§ãã§ãã¯ããããšãå¯èœã§ãã
ã䜿çšäŸã
var regexp = new RegExp(/^\d{2}$/);
var result1 = regexp.test(8);
var result2 = regexp.test(12);
console.log('8 = ^\d{2}$ã¯' + result1);
console.log('12 = ^\d{2}$ã¯' + result2);
ãå®è¡çµæã
8 = ^d{2}$ã¯false
12 = ^d{2}$ã¯true
ãã®å Žåã¯ã/^\d{2}$/ã§2æ¡ã®å€ã ãæ€åºããããã«æå®ããŠããã®ããã€ã³ãã§ããtest()ã§ã¯ãã8ãã12ãã®2ã€ããã§ãã¯ããããã«ããŠããŠã8ãš12ã§ã¯ã12ã®æ¹ãtrueã8ã¯1æ¡ã®æ°åãªã®ã§ãfalseãšçµæãåºãããã«ãªã£ãŠããŸãã
ãŸãšã
ä»åã¯ãJavaScriptã«ããããæ£èŠè¡šçŸãã«ã€ããŠäž»ã«ã玹ä»ããŠããŸãããåŠç¿ã®å§ãããŠã¯ä»å玹ä»ãããããªç¹æ®æåã ã£ãããã¡ãœããã ã£ããã䜿ãã«ããéšåãå€ãããšæããŸãã
ããããæ £ããŠãããšã誰ã§ãã¹ã ãŒãºã«äœ¿çšåºæ¥ãããã«ãªã£ãŠãããã®ã§ããåŠç¿æžã«ããå 容ãªã©ãããèªãã§ããã£ãšè©³ããåŠç¿ããŠãåããããããããããªãã®ã§ããããã£ãåºç€çãªç¥èããã£ããå ¥ããŠãJavaScriptããã¹ã¿ãŒããŠãããŸãããã













