æåã¯ã©ã¹
æåã¯ã©ã¹ã¯ãæåãæ°åã®åºå¥ãªã©ãæåã®ç¨®é¡ãåºå¥ãã¾ãã
試ãã¦ã¿ã¾ããã
const chessStory = "He played the King in a8 and she moved her Queen in c2.";
const regexpCoordinates = /\w\d/g;
console.log(chessStory.match(regexpCoordinates));
// äºæ³ãããçµæ: Array [ 'a8', 'c2']
const moods = "happy ð, confused ð, sad ð¢";
const regexpEmoticons = /[\u{1F600}-\u{1F64F}]/gu;
console.log(moods.match(regexpEmoticons));
// äºæ³ãããçµæ: Array ['ð', 'ð', 'ð¢']
種é¡
| æå | æå³ |
|---|---|
[xyz]
|
æåã¯ã©ã¹: å²ãã æåã®ããããã«ä¸è´ãã¾ãããã¤ãã³ã使ç¨ãã¦æåã®ç¯å²ãæå®ãããã¨ãã§ãã¾ããããã¤ãã³ãè§æ¬å¼§ã§å²ã¾ããæåã¾ãã¯æå¾ã®æåã¨ãã¦ç¾ããå ´åãããã¯éå¸¸ã®æåã¨ãã¦æåã¯ã©ã¹ã«å«ããããã®ãªãã©ã«ãã¤ãã³ã¨è¦ãªããã¾ãã
ä¾ãã°ã
ä¾ãã°ã
ä¾ãã°ã
|
|
|
å¦å®æåã¯ã©ã¹:
è§æ¬å¼§ã§å²ã¾ãã¦ãããã®ã§ã¯ãªããã®å
¨ã¦ã«ä¸è´ãã¾ãããã¤ãã³ã使ç¨ãã¦æåã®ç¯å²ãæå®ãããã¨ãã§ãã¾ããããã¤ãã³ã ã¡ã¢: ^ ã®æåã¯å ¥åã®å é ãæå³ãããã¨ãããã¾ãã |
. |
ã¯ã¤ã«ãã«ã¼ã:
æ¹è¡æå ( |
\d |
æ°åæåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
ããããï¼ã¢ã©ãã¢ï¼æ°åã«ä¸è´ãã¾ãã |
\D |
éæ°åæåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
ããããï¼ã¢ã©ãã¢ï¼æ°å以å¤ã®æåã«ä¸è´ãã¾ãã |
\w |
è±æ°æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
ã¢ã³ãã¼ã¹ã³ã¢ãå«ãããããåè§è±æ°åï¼åºæ¬ã©ãã³ã¢ã«ãã¡ãããï¼ã«ä¸è´ãã¾ãã |
\W |
éè±æ°æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
åºæ¬ã©ãã³ã¢ã«ãã¡ãããã®æå以å¤ã«ä¸è´ãã¾ãã |
\s |
ãã¯ã¤ãã¹ãã¼ã¹æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
ãã¯ã¤ãã¹ãã¼ã¹æåãä¾ãã°ç©ºç½ãã¿ããæ¹ãã¼ã¸ãæ¹è¡ããã®ä»ã® Unicode ç©ºç½æåãªã©ã® 1 æåã«ä¸è´ãã¾ãã |
\S |
éãã¯ã¤ãã¹ãã¼ã¹æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
ãã¯ã¤ãã¹ãã¼ã¹ä»¥å¤ã® 1 æåã«ä¸è´ãã¾ãã
|
\t |
æ°´å¹³ã¿ãã«ä¸è´ãã¾ãã |
\r |
復帰æåã«ä¸è´ãã¾ãã |
\n |
è¡éãæåã«ä¸è´ãã¾ãã |
\v |
åç´ã¿ãã«ä¸è´ãã¾ãã |
\f |
æ¹ãã¼ã¸ã«ä¸è´ãã¾ãã |
[\b] |
å¾éæåã«ä¸è´ãã¾ããåèªå¢çã¢ãµã¼ã·ã§ã³ (\b) ã«ã¤ãã¦ã¯ã¢ãµã¼ã·ã§ã³ãåç
§ãã¦ãã ããã
|
\0 |
NUL æåã«ä¸è´ãã¾ãããã®å¾ãã«ä»ã®æ°åãç¶ãã¦ã¯ããã¾ããã |
\cX
|
ãã£ã¬ããè¨æ³ã使ç¨ããå¶å¾¡æåã«ä¸è´ãã¾ãã "X" ã«ã¯ AâZ ã®æåãå
¥ãã¾ãï¼ã³ã¼ããã¤ã³ã |
\xhh
|
hh ï¼2 æ¡ã® 16 鲿°ï¼ã³ã¼ããããªãæåã«ä¸è´ãã¾ãã
|
\uhhhh
|
hhhh ï¼4 æ¡ã® 16 鲿°ï¼ã®å¤ãããªã UTF-16 ã³ã¼ãã¦ãããã«ä¸è´ãã¾ãã
|
\u{hhhh} ã¾ã㯠\u{hhhhh}
|
ï¼u ãã©ã°ãã»ãããããæã®ã¿ï¼ U+hhhh ã¾ã㯠U+hhhhh (16 鲿°) Unicode å¤ãããªãæåã«ä¸è´ãã¾ãã
|
\p{UnicodeProperty},
\P{UnicodeProperty}
|
Unicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ã: Unicode æåããããã£ã«åºã¥ããæåã«ä¸è´ãã¾ããä¾ãã°ãçµµæåãæ¥æ¬èªã®ã«ã¿ã«ããä¸å½èªãæ¥æ¬èªã®æ¼¢åãªã©ã§ãã |
\ |
æ¬¡ã®æåãç¹å¥ã«æ±ããã¨ããã¨ã¹ã±ã¼ãããããã¨ã示ãã¾ãã ãã®æ¯ãèãã¯ã2 éãã®ãã¡ã®ã©ã¡ãã 1 ã¤ã§ãã
ã¡ã¢: ãã®æåãæåéãã«ä¸è´ãããã«ã¯ãããèªèº«ãã¨ã¹ã±ã¼ããã¦ãã ãããã¤ã¾ãã |
x|y
|
è«çå:
"x" ã¾ã㯠"y" ã«ä¸è´ãã¾ãããã¤ã (
ã¡ã¢: è«çåã¯ã鏿è¢ã®éåããæå®ããããä¸ã¤ã®æ¹æ³ã§ãããæåã¯ã©ã¹ã§ã¯ããã¾ãããè«çåã¯ç¬ç«ãããã®ã§ã¯ããã¾ããã大ããªãã¿ã¼ã³ã®ä¸é¨ã«ããããã«ã¯ã°ã«ã¼ãã使ç¨ããå¿
è¦ãããã¾ãã |
ä¾
>ä¸é£ã®æ°åãæ¢ã
ãã®ä¾ã§ã¯ã4 æ¡ã®æ°ååã \d{4} ã§ç
§åãã¾ãã\b 㯠åèªå¢çã示ãã¾ãï¼ã¤ã¾ããæ°åã®éä¸ããç
§åãå§ãããçµäºãããããªãï¼ã
const randomData = "015 354 8787 687351 3512 8735";
const regexpFourDigits = /\b\d{4}\b/g;
console.table(randomData.match(regexpFourDigits));
// ['8787', '3512', '8735']
ãã以å¤ã®ä¾ã¯æåã¯ã©ã¹ã¨ã¹ã±ã¼ããªãã¡ã¬ã³ã¹ãåç §ãã¦ãã ããã
A ããå§ã¾ãï¼ã©ãã³ã¢ã«ãã¡ãããã®ï¼åèªãæ¢ã
ãã®ä¾ã§ã¯ãA ã§å§ã¾ãåèªãç
§åãã¾ãã\b ã¯åèªå¢çï¼åèªã®éä¸ããç
§åãå§ããªãï¼ã示ãã¾ãã[aA] ã¯æå "a" ã¾ã㯠"A" ã示ãã¾ãã\w+ ã¯ã©ãã³ã¢ã«ãã¡ãããã®ä»»æã®æåãè¤æ°å示ãã¾ãï¼+ ã¯æ°éåã§ãï¼ããªãããã§ã«åèªã®æåããªããªãã¾ã§ç
§åããã®ã§ãæ«å°¾ã® \b å¢çã¯å¿
è¦ããã¾ããã
const aliceExcerpt =
"I'm sure I'm not Ada,' she said, 'for her hair goes in such long ringlets, and mine doesn't go in ringlets at all.";
const regexpWordStartingWithA = /\b[aA]\w+/g;
console.table(aliceExcerpt.match(regexpWordStartingWithA));
// ['Ada', 'and', 'at', 'all']
ãã以å¤ã®ä¾ã¯æåã¯ã©ã¹ã¨ã¹ã±ã¼ããªãã¡ã¬ã³ã¹ãåç §ãã¦ãã ããã
ï¼Unicode æåã®ï¼åèªãæ¢ã
åèªã表ãããã«ãã©ãã³ã¢ã«ãã¡ãããã§ã¯ãªãã Unicode æåã®ç¯å²ã使ç¨ãããã¨ãã§ãã¾ããï¼ã¤ã¾ãããã·ã¢èªãã¢ã©ãã¢èªã®ãããªä»ã®è¨èªã®ããã¹ããæ±ããã¨ãã§ãã¾ããï¼ Unicode ã® ãåºæ¬å¤è¨èªé¢ãã«ã¯ãä¸çä¸ã§ä½¿ããã¦ããã»ã¨ãã©ã®æåãå«ã¾ãã¦ããããããã®æåã§æ¸ãããåèªã«ãããããããã®æåã¯ã©ã¹ã¨ç¯å²ãå©ç¨ã§ãã¾ãã
const nonEnglishText = "ÐÑиклÑÑÐµÐ½Ð¸Ñ ÐлиÑÑ Ð² СÑÑане ÑÑдеÑ";
const regexpBMPWord = /([\u0000-\u0019\u0021-\uFFFF])+/gu;
// U+0000 ãã U+FFFF ã¾ã§ã® BMPããã ããU+0020 ã¯ç©ºç½
console.table(nonEnglishText.match(regexpBMPWord));
["ÐÑиклÑÑениÑ", "ÐлиÑÑ", "в", "СÑÑане", "ÑÑдеÑ"];
ãã以å¤ã®ä¾ã¯ Unicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ããªãã¡ã¬ã³ã¹ãåç §ãã¦ãã ããã
æ¯é³ãæ°ãã
ãã®ä¾ã§ã¯ãæ¯é³ (A, E, I, O, U, Y) ã§å§ã¾ãåèªãæ°ãã¾ãã g ãã©ã°ã¯ãããã¹ãä¸ã«åºç¾ãããã¹ã¦ã®ãã¿ã¼ã³ã«ä½¿ç¨ãã¾ãã i ãã©ã°ã¯ãã¿ã¼ã³ã大æåã¨å°æåãåºå¥ããªãããã«ããããã«ä½¿ç¨ãã大æåã®æ¯é³ã¨å°æåã®æ¯é³ã®ä¸¡æ¹ã«ä¸è´ãã¾ãã
const aliceExcerpt =
"There was a long silence after this, and Alice could only hear whispers now and then.";
const regexpVowels = /[aeiouy]/gi;
console.log("æ¯é³ã®æ°:", aliceExcerpt.match(regexpVowels).length);
// æ¯é³ã®æ°: 26
é¢é£æ å ±
- æ£è¦è¡¨ç¾ã¬ã¤ã
- ã¢ãµã¼ã·ã§ã³ã¬ã¤ã
- æ°éåã¬ã¤ã
- ã°ã«ã¼ãã¨å¾æ¹åç §
RegExp- æ£è¦è¡¨ç¾ãªãã¡ã¬ã³ã¹
- æåã¯ã©ã¹:
[...],[^...] - æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
\d,\D,\w,\W,\s,\S - æåã¨ã¹ã±ã¼ã:
\n,\u{...} - è«çå:
| - Unicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
\p{...},\P{...} - ã¯ã¤ã«ãã«ã¼ã:
.