Baseline Widely available
RegExp()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ RegExp
ãªãã¸ã§ã¯ããçæãã¾ãã
æ£è¦è¡¨ç¾ã«ã¤ãã¦è©³ããç¥ãããæ¹ã¯ JavaScript ã¬ã¤ã ã® æ£è¦è¡¨ç¾ ãåç §ãã¦ãã ããã
試ãã¦ã¿ã¾ãããconst regex1 = /\w+/;
const regex2 = new RegExp("\\w+");
console.log(regex1);
// Expected output: /\w+/
console.log(regex2);
// Expected output: /\w+/
console.log(regex1 === regex2);
// Expected output: false
æ§æ
new RegExp(pattern)
new RegExp(pattern, flags)
RegExp(pattern)
RegExp(pattern, flags)
ã¡ã¢: RegExp()
㯠new
ããã£ã¦ããªãã¦ãå¼ã³åºããã¨ãã§ãã¾ããã广ãç°ãªããã¨ãããã¾ããè¿å¤ãåç
§ãã¦ãã ããã
pattern
æ£è¦è¡¨ç¾ã®ããã¹ãã§ããä»ã® RegExp
ãªãã¸ã§ã¯ãã§ãã£ã¦ãæ§ãã¾ããã
flags
çç¥å¯
æå®ãããå ´åã flags
ã¯è¿½å ãããã©ã°ãå«ãæååã§ããã¾ãã¯ãRegExp
ãªãã¸ã§ã¯ãã pattern
ã«æä¾ãããå ´åã¯ãflags
ã®æååã¯ãã®ãªãã¸ã§ã¯ãã®ãã©ã°ããã¹ã¦ç½®ãæãã¾ãï¼ãã㦠lastIndex
㯠0 ã«ãªã»ããããã¾ãï¼ã
flags
ã¯ä»¥ä¸ã®å¤ãä»»æã®çµã¿åãããå«ãã æååãæå®ãããã¨ãã§ãã¾ãã
d
(indices)
é¨åæååã®ä¸è´ã«ã¤ã³ããã¯ã¹ãçæãã¾ãã
g
(global)
æåã«ä¸è´ããå¾ã§åæ¢ããã«ãä¸è´ãããã®ããã¹ã¦æ¢ãã¾ãã
i
(ignore case)
ç §åæã«ã大æåå°æåã®éããç¡è¦ãã¾ãã
m
(multiline)
å
é ããã³æ«å°¾ã示ãæåï¼^
㨠$
ï¼ããè¤æ°ã®è¡ã«ã¾ããã£ã¦æ©è½ãã¾ããããªãã¡ãå
¥åæååå
¨ä½ã®å
é ããã³æ«å°¾ã ãã§ãªããããããã®ï¼\n
ã \r
ã§åºåãããï¼è¡ã®å
é ããã³æ«å°¾ã«ä¸è´ãã¾ãã
s
(dotAll)
.
ãæ¹è¡æåã«ä¸è´ã§ããããã«ãã¾ãã
u
(unicode)
pattern
ã Unicode ã³ã¼ããã¤ã³ãã®ä¸¦ã³ã¨ãã¦æ±ãã¾ãã
v
(unicodeSets)
æååã®ããããã£ã ãã§ãªããæåã¯ã©ã¹ã§ãéå表è¨ãå¯è½ã«ãã u
ãã©ã°ã®ã¢ããã°ã¬ã¼ãçã§ãã
y
(sticky)
対象æååä¸ã®æ£è¦è¡¨ç¾ã® lastIndex
ããããã£ã«ãã£ã¦ç¤ºãããä½ç½®ããã®ã¿ç
§åããããã«ãªãã¾ããããããå¾ã®ä½ç½®ããã®ç
§åã¯è©¦ã¿ã¾ããã
RegExp(pattern)
ã¯ä»¥ä¸ã®ãã¹ã¦ã«è©²å½ããã¨ãpattern
ãç´æ¥è¿ãã¾ãã
RegExp()
ã new
ãªãã§å¼ã³åºãããpattern
ãæ£è¦è¡¨ç¾ã§ããpattern.constructor === RegExp
ï¼ãµã¤ãã¯ãµãã¯ã©ã¹ã§ã¯ãªãã¨ããæå³ï¼flags
ã undefined
ã§ãããã®ä»ã®ãã¹ã¦ã®å ´åã«ããã¦ã¯ãRegExp()
ãå¼ã³åºãéã« new
ã使ç¨ãã¦ã使ç¨ããªãã¦ããæ°ãã RegExp
ãªãã¸ã§ã¯ãã使ããã¾ããpattern
ãæ£è¦è¡¨ç¾ã®å ´åãæ°ãããªãã¸ã§ã¯ãã®ã½ã¼ã¹ã¯ pattern.source
ã«ãªãã¾ãããã以å¤ã®å ´åã¯ãpattern
ã¯æååã«å¤æããã¾ããflags
弿°ã undefined
ã§ãªãå ´åãæ°ãããªãã¸ã§ã¯ãã® flags
ã¯å¼æ°ã®å¤ã¨ãªããããã§ãªãå ´åããã® flags
㯠pattern.flags
ã«ãªãã¾ãï¼pattern
ãæ£è¦è¡¨ç¾ã®å ´åï¼ã
SyntaxError
以ä¸ã®ãããããæç«ããã¨çºçãã¾ãã
pattern
ãæå¹ãªæ£è¦è¡¨ç¾ã¨ãã¦è§£éã§ããªãå ´åflags
ã«ç¹°ãè¿ãã¦ä½¿ãããæåãã許å¯ããã¦ããæå以å¤ãå«ã¾ãã¦ããå ´åãRegExp
ãªãã¸ã§ã¯ããçæããã®ã«ãªãã©ã«è¨æ³ã¨ã³ã³ã¹ãã©ã¯ã¿ã¼ã® 2 ã¤ã®æ¹æ³ãããã¾ãã
RegExp
ãªãã¸ã§ã¯ããæåã®å¼æ°ã¨ãã¦åãã2 çªç®ã®å¼æ°ã¨ãã¦ãªãã·ã§ã³ã®ãã©ã°ã®æååãåãã¾ãã以ä¸ã® 3 ã¤ã®å¼ã¯ãåãæ£è¦è¡¨ç¾ãçæãããã®ã§ãã
/ab+c/i;
new RegExp(/ab+c/, "i"); // ãªãã©ã«è¡¨è¨
new RegExp("ab+c", "i"); // ã³ã³ã¹ãã©ã¯ã¿ã¼
æ£è¦è¡¨ç¾ã¯ã使ç¨ããåã«ã³ã³ãã¤ã«ããå¿
è¦ãããã¾ãããã®å¦çã«ãããããå¹ççã«ç
§åãè¡ããã¨ãã§ãã¾ããã³ã³ãã¤ã«ã㦠RegExp
ãªãã¸ã§ã¯ããåå¾ããã«ã¯ 2 ã¤ã®æ¹æ³ãããã¾ãã
ãªãã©ã«è¨æ³ã使ç¨ããã¨ãå¼ãè©ä¾¡ãããã¨ãã«æ£è¦è¡¨ç¾ã®ã³ã³ãã¤ã«ãè¡ãããçµæã«ãªãã¾ãã䏿¹ãRegExp
ãªãã¸ã§ã¯ãã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ãã new RegExp('ab+c')
ã¯ãæ£è¦è¡¨ç¾ãå®è¡æã«ã³ã³ãã¤ã«ããçµæã«ãªãã¾ãã
åçãªå
¥åããæ£è¦è¡¨ç¾ãæ§ç¯ãããå ´åã¯ãæååãæåã®å¼æ°ã¨ã㦠RegExp()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ãã¦ãã ããã
const breakfasts = ["bacon", "eggs", "oatmeal", "toast", "cereal"];
const order = "Let me get some bacon and eggs, please";
order.match(new RegExp(`\\b(${breakfasts.join("|")})\\b`, "g"));
// Returns ['bacon', 'eggs']
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4