å¾èªã¿ã¢ãµã¼ã·ã§ã³: (?<=...), (?<!...)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2023å¹´3æ.
å¾èªã¿ã¢ãµã¼ã·ã§ã³ã®ãå¾èªã¿ãã¨ã¯ããã以åã®å ¥åãæå®ããããã¿ã¼ã³ã«ç §åãããã¨ãã¾ãããå ¥åãæ¶è²»ãããã¨ã¯ããã¾ãããç §åã«æåããå ´åãå ¥åã®ç¾å¨ã®ä½ç½®ã¯ãã®ã¾ã¾ã§ãããã¿ã¼ã³å ã®ããããã®ã¢ãã ã¯ãéé ã«ç §åãã¾ãã
æ§æ
(?<=pattern)
(?<!pattern)
弿°
解説
æ£è¦è¡¨ç¾ã¯ä¸è¬ã«å·¦ããå³ã«ç §åãã¾ãããããå èªã¿ããã³å¾èªã¿ã¢ãµã¼ã·ã§ã³ããã®ããã«å¼ã°ããçç±ã§ããå èªã¿ã¢ãµã¼ã·ã§ã³ã¯å³ã«ãããã®ãå¾èªã¿ã¢ãµã¼ã·ã§ã³ã¯å·¦ã«ãããã®ã表ãã¾ãã
(?<=pattern) ã¢ãµã¼ã·ã§ã³ãæåããããã«ã¯ãpattern ãå
¥åã®ç¾å¨ã®ä½ç½®ããã¿ã¦ããå·¦å´ã®ã®ããã¹ãã¨ä¸è´ããªããã°ãªãã¾ããããç¾å¨ã®ä½ç½®ã¯ä»¥éã®å
¥åã¨ç
§åããåããå¤åãã¾ããã(?<!pattern) å½¢å¼ã¯ã¢ãµã¼ã·ã§ã³ãå¦å®ãã¾ããpattern ãå
¥åã®ç¾å¨ã®ä½ç½®ã®ããå·¦å´ã§ä¸è´ããªãå ´åã«æåãã¾ãã
å¾èªã¿ã¢ãµã¼ã·ã§ã³ã¯ãå ¨è¬çã«ã¯å èªã¿ã¨åãæå³ã¥ããæã¡ã¾ãã ããããå¾èªã¿ã¢ãµã¼ã·ã§ã³å ã§ã¯ãæ£è¦è¡¨ç¾ãéé ã«ç §åãã¾ããä¾ãã°ã次ã®ããã«ãªãã¾ãã
/(?<=([ab]+)([bc]+))$/.exec("abc"); // ['', 'a', 'bc']
// Not ['', 'ab', 'c']
å¾èªã¿ã§å·¦ããå³ã«ç
§åããå ´åã¯ãæåã« [ab]+ ã«è²ªæ¬²ã«ç
§åãã¦æåã®ã°ã«ã¼ãã "ab" ãææããæ®ãã® "c" 㯠[bc]+ ã«ææãããã¯ãã§ãã ããããããã§ã¯ [bc]+ ãæåã«ç
§åãã貪欲㫠"bc" ãææããããã[ab]+ ã«ã¯ "a" ããæ®ãã¾ããã
ãã®åä½ã¯å¦¥å½ãªãã®ã§ãããããã£ã¼ã¯ã©ãã§ç §åãéå§ãããã¯åããã¾ãããï¼å¾èªã¿ãä¿®æ£ãããé·ãã§ãªãå¯è½æ§ãããããï¼ãã©ãã§ç §åãçµäºãããã¯åããã¾ãï¼ç¾å¨ã®ä½ç½®ã§ãï¼ã ãããã£ã¦ãç¾å¨ã®ä½ç½®ããéå§ããéæ¹åã«åä½ãã¾ãï¼ä»ã®è¨èªã®æ£è¦è¡¨ç¾ã§ã¯ããã®åé¡ãé¿ããããã«åºå®é·ã§ãªãå¾èªã¿ãç¦æ¢ãã¦ãããã®ãããã¾ãï¼ã
å¾èªã¿å ã®éåããããã£ããã£ã°ã«ã¼ãã§ã¯ãéé ã«ç §åããããããå ¥åæååã®å³å´ã§ã¯ãªããæãå·¦å´ã«ä¸è´ãããã®ããã£ããã£ããã¾ãã詳細ã¯ãã£ããã£ã°ã«ã¼ãã®ãã¼ã¸ãåç §ãã¦ãã ããã徿¹åç §ã¯ãéé ã«ç §åããããããåç §ããã°ã«ã¼ãã®å·¦å´ã«ç¾ããªããã°ãªãã¾ãããããããè«çåã¯å·¦ããå³ã¸è©¦è¡ããã¾ãã
ä¾
>æ¶è²»ããã«æååãç §å
å èªã¿ã®å ´åã¨åæ§ãå¾èªã¿ã使ãã¨æååãæ¶è²»ãããã¨ãªãæååãç §åããæçãªæ å ±ã®ã¿ãæ½åºãããã¨ãã§ãã¾ãã ä¾ãã°ã次ã®ä¾ã¯ä¾¡æ ¼ã©ãã«ã®æ°åã«ä¸è´ããæ£è¦è¡¨ç¾ã§ãã
function getPrice(label) {
return /(?<=\$)\d+(?:\.\d*)?/.exec(label)?.[0];
}
getPrice("$10.53"); // "10.53"
getPrice("10.53"); // undefined
èå³ã®ããé¨åä¸è´ããã£ããã£ãããã¨ã§ãåæ§ã®å¹æãå¾ããã¾ãã
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # prod-Assertion> |