Baseline 2025
Newly available
RegExp.escape()
ã¯éçã¡ã½ããã§ãæååå
ã®æ½å¨çãªæ£è¦è¡¨ç¾æ§ææåãã¨ã¹ã±ã¼ããããªãã©ã«ãã¿ã¼ã³ã¨ã㦠RegExp()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§å®å
¨ã«ä½¿ç¨ã§ããæ°ããæååãè¿ãã¾ãã
ã¦ã¼ã¶ã¼ãæä¾ããã³ã³ãã³ããå«ã RegExp
ãåçã«ä½æããå ´åã¯ããã®é¢æ°ã使ç¨ãã¦å
¥åãç¡å®³åãããã¨ãæ¤è¨ãã¦ãã ããï¼å
¥åãå®éã«æ£è¦è¡¨ç¾æ§æãå«ãããã«æå³ããã¦ããå ´åãé¤ãï¼ãã¾ããä¾ãã°ã String.prototype.replaceAll()
ã使ç¨ãã¦ããã¹ã¦ã®æ§ææåã®åã« \
ãæ¿å
¥ãããªã©ãã¦ããã®æ©è½ãåå®è£
ãããã¨ããªãã§ãã ããã RegExp.escape()
ã¯ãæä½æ¥ã§ä½æããã³ã¼ãã§ã¯ããããéæã§ããªãã§ããããè¤æ°ã®ã¨ãã¸ã±ã¼ã¹/ã³ã³ããã¹ãã§åä½ããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã使ç¨ããããã«è¨è¨ããã¦ãã¾ãã
string
ã¨ã¹ã±ã¼ãããæååã§ãã
RegExp()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã®ãªãã©ã«ãã¿ã¼ã³ã¨ãã¦å®å
¨ã«ä½¿ç¨ã§ããæ°ããæååãããªãã¡ãå
¥åæååå
ã®æ¬¡ã®ç½®ãæããè¡ããã¾ãã
\x
ã®æåã¨ã¹ã±ã¼ãæ§æã使ç¨ãã¦ã¨ã¹ã±ã¼ãããã¾ããä¾ãã°ã RegExp.escape("foo")
㯠"\\x66oo"
ãè¿ãã¾ãï¼ä»¥ä¸ãæååãªãã©ã«å
ã® 2 ã¤ã®ããã¯ã¹ã©ãã·ã¥ã¯ãåä¸ã®ããã¯ã¹ã©ãã·ã¥æåã表ãã¾ãï¼ããã®æ®µéã§ã¯ããã®ã¨ã¹ã±ã¼ããããæååããç´åã« \1
ã\x0
ã\u000
ãªã©ãç¶ã大ããªãã¿ã¼ã³ã«åãè¾¼ã¾ããå ´åãå
é ã®æåãã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã®ä¸é¨ã¨ãã¦è§£éãããªãããã«ä¿è¨¼ãã¾ãã^
, $
, \
, .
, *
, +
, ?
, (
, )
, [
, ]
, {
, }
, |
, ããã³åºåãæåã® /
ï¼ã¯ãåã« \
æåãæ¿å
¥ãããã¨ã§ã¨ã¹ã±ã¼ãããã¾ããä¾ãã°ã RegExp.escape("foo.bar")
㯠"\\x66oo\\.bar"
ãè¿ãã RegExp.escape("(foo)")
㯠"\\(foo\\)"
ãè¿ãã¾ãã,
, -
, =
, <
, >
, #
, &
, !
, %
, :
, ;
, @
, ~
, '
, `
, "
ãªã©ï¼ã¯ã \x
æ§æã使ç¨ãã¦ã¨ã¹ã±ã¼ãããã¾ããä¾ãã°ã RegExp.escape("foo-bar")
㯠"\\x66oo\\x2dbar"
ãè¿ãã¾ãããããã®æåã¯ãä¾ãã° /foo\-bar/u
ã¯æ§æã¨ã©ã¼ã¨ãªãããã \
ã®æ¥é è¾ãä»ãããã¨ã§ã¨ã¹ã±ã¼ããããã¨ã¯ã§ãã¾ããã\f
(U+000C FORM FEED), \n
(U+000A LINE FEED), \r
(U+000D CARRIAGE RETURN), \t
(U+0009 CHARACTER TABULATION), \v
(U+000B LINE TABULATION) ã¯ããã®ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«ç½®ããããã¾ããä¾ãã°ã RegExp.escape("foo\nbar")
㯠"\\x66oo\\nbar"
ãè¿ãã¾ãã"\\x20"
ã¨ãã¦ã¨ã¹ã±ã¼ãããã¾ãã\uXXXX
ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«ç½®ãæãããã¾ããä¾ãã°ã RegExp.escape("foo\u2028bar")
㯠"\\x66oo\\u2028bar"
ãè¿ãã¾ãã\uXXXX
ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«ç½®ãæãããã¾ããä¾ãã°ã RegExp.escape("foo\uD800bar")
㯠"\\x66oo\\ud800bar"
ãè¿ãã¾ããTypeError
string
ãæååã§ã¯ãªãå ´åã«çºçãã¾ãã
次ã®ä¾ã¯ãRegExp.escape()
ã¡ã½ããã®ãã¾ãã¾ãªå
¥åã¨åºåã示ãã¦ãã¾ãã
RegExp.escape("Buy it. use it. break it. fix it.");
// "\\x42uy\\x20it\\.\\x20use\\x20it\\.\\x20break\\x20it\\.\\x20fix\\x20it\\."
RegExp.escape("foo.bar"); // "\\x66oo\\.bar"
RegExp.escape("foo-bar"); // "\\x66oo\\x2dbar"
RegExp.escape("foo\nbar"); // "\\x66oo\\nbar"
RegExp.escape("foo\uD800bar"); // "\\x66oo\\ud800bar"
RegExp.escape("foo\u2028bar"); // "\\x66oo\\u2028bar"
RegExp.escape() 㨠RegExp ã³ã³ã¹ãã©ã¯ã¿ã¼ã®ä½¿ç¨
RegExp.escape()
ã®ä¸»ãªä½¿ç¨ä¾ã¯ãæååããã大ããªæ£è¦è¡¨ç¾ãã¿ã¼ã³ã«åãè¾¼ã¿ããã®æååãæ£è¦è¡¨ç¾ã®æ§æã§ã¯ãªããªãã©ã«ãã¿ã¼ã³ã¨ãã¦ç¢ºå®ã«ä¿æãããå ´åã§ããURL ãç½®æããæ¬¡ã®åç´ãªä¾ãèãã¦ã¿ã¾ãããã
function removeDomain(text, domain) {
return text.replace(new RegExp(`https?://${domain}(?=/)`, "g"), "");
}
const input =
"Consider using [RegExp.escape()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/escape) to escape special characters in a string.";
const domain = "developer.mozilla.org";
console.log(removeDomain(input, domain));
// Consider using [RegExp.escape()](/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp/escape) to escape special characters in a string.
ä¸è¨ã® domain
ãæ¿å
¥ããã¨ãæ£è¦è¡¨ç¾ãªãã©ã« https?://developer.mozilla.org(?=/)
ã¨ãªãã¾ããããã§ã "." æåã¯æ£è¦è¡¨ç¾ã®ã¯ã¤ã«ãã«ã¼ãæåã§ããããã¯ãæååã "." ã®ä»£ããã«ä½ãæåãæã¤æååã¨ä¸è´ãããã¨ãæå³ãã¦ãããä¾ãã°ã developer-mozilla-org
ãªã©ã該å½ãã¾ãããããã£ã¦ã次ã®ããã¹ãã誤ã£ã¦å¤æ´ããã¦ãã¾ãã¾ãã
const input =
"This is not an MDN link: https://developer-mozilla.org/, be careful!";
const domain = "developer.mozilla.org";
console.log(removeDomain(input, domain));
// This is not an MDN link: /, be careful!
ãããä¿®æ£ããã«ã¯ã RegExp.escape()
ã使ç¨ãã¦ãã¦ã¼ã¶ã¼å
¥åã確å®ã«ãªãã©ã«ãã¿ã¼ã³ã¨ãã¦æ±ãããããã«ãã¾ãã
function removeDomain(text, domain) {
return text.replace(
new RegExp(`https?://${RegExp.escape(domain)}(?=/)`, "g"),
"",
);
}
ããã§ãã®é¢æ°ã¯æå³éãã«åä½ãã developer-mozilla.org
ã® URL ã夿ããªããªãã¾ãã
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