Baseline Widely available
æåã¯ã©ã¹ã¯ãç¬èªã®æåéåã«å«ã¾ãããã¾ãã¯å«ã¾ããªãæåã«ä¸è´ãã¾ããv
ãã©ã°ãæå¹ã«ããã¨ãå¯å¤é·ã®ã®æååã«ã使ç¨ãããã¨ãã§ãã¾ãã
[]
[abc]
[A-Z]
[^]
[^abc]
[^A-Z]
// `v` ã¢ã¼ãã®ã¿
[operand1&&operand2]
[operand1--operand2]
[\q{substring}]
弿°
operand1
, operand2
åä¸ã®æåãä»ã®è§æ¬å¼§ã§å²ã¾ããæåã¯ã©ã¹ãæåã¯ã©ã¹ã¨ã¹ã±ã¼ããUnicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ããã¾ã㯠\q
æ§æã使ç¨ããæååã®ä½ãããã¨ããã¨ãã§ãã¾ãã
substring
ãªãã©ã«æååã§ãã
æåã¯ã©ã¹ã¯è§æ¬å¼§ã§å²ã¾ããæåã®ãªã¹ããæå®ãããªã¹ãå
ã®ä»»æã®æåã¨ç
§åãã¾ãã v
ãã©ã°ã¯ãæåã¯ã©ã¹ã®è§£éæ¹æ³ã大ããå¤ãã¾ãã以ä¸ã®æ§æã¯ v
ã¢ã¼ãã§ã v
ã¢ã¼ãã§ãªãã¦ã使ç¨ã§ãã¾ãã
-
) ã§åºåããã 2 æåã§æå®ãã¾ããæåã®æåã¯ã2 ã¤ç®ã®æåãããæåå¤ãå°ãããªããã°ãªãã¾ãããæåå¤ã¯ãã®æåã® Unicode ã³ã¼ããã¤ã³ãã§ããUnicode ã³ã¼ããã¤ã³ãã¯é常ã¢ã«ãã¡ãããé ã«å²ãå½ã¦ãã®ã§ã[a-z]
ã¯ãã¹ã¦å°æåã®ã©ãã³æåãæå®ãã[α-Ï]
ã¯ãã¹ã¦å°æåã®ã®ãªã·ã£æåãæå®ãã¾ããUnicode é対å¿ã¢ã¼ãã§ã¯ãæ£è¦è¡¨ç¾ã¯ BMP æåã®ä¸¦ã³ã¨ãã¦è§£éããã¾ãããããã£ã¦ãæåã¯ã©ã¹ã®ãµãã²ã¼ããã¢ã¯ 1 æåã§ã¯ãªã 2 æåã表ãã¾ãã詳細ã¯ä¸è¨ãåç
§ãã¦ãã ããã\b
ã\-
ãæåã¯ã©ã¹ã¨ã¹ã±ã¼ããUnicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ãããã®ä»ã®æåã¨ã¹ã±ã¼ãããããã®æ§æã¯ä½åã§ã使ããã¨ãã§ãããããã表ãæåéåã¯çµåããã¾ããä¾ãã°ã/[a-zA-Z0-9]/
ã¯ä»»æã®æåãæ°åã«ä¸è´ãã¾ãã
æåã¯ã©ã¹ã®æ¥é è¾ ^
ã¯ãè£éåã¯ã©ã¹ãã使ãã¾ããä¾ãã°ã[^abc]
㯠a
ãb
ãc
以å¤ã®æåã«ä¸è´ãã¾ãã^
ã®æåã¯æåã¯ã©ã¹ã®éä¸ã«ç¾ããå ´åã¯ãªãã©ã«æåã«ãªãã¾ããä¾ãã°ã [a^b]
㯠a
ã^
ãb
ã«ä¸è´ãã¾ãã
å奿æ³ã¯æ£è¦è¡¨ç¾ãªãã©ã«ãã¨ã¦ãå¯å®¹ã«è§£éããæåã¯ã©ã¹å
ã«ç¾ãã /
æåã§æ£è¦è¡¨ç¾ãªãã©ã«ãçµãããªãããã«ãã¾ãããã㯠/[/]/
ã /
ãã¨ã¹ã±ã¼ãããªãã¦ãæå¹ã§ãããã¨ãæå³ãã¦ãã¾ãã
æåç¯å²ã®å¢çã«è¤æ°ã®æåãæå®ãããã¨ã¯ã§ãã¾ãããããã¯æåã¯ã©ã¹ã®ã¨ã¹ã±ã¼ãã使ç¨ããå ´åã«èµ·ããã¾ããä¾ãã°æ¬¡ã®ãããªãã®ã§ãã
/[\s-9]/u; // SyntaxError: Invalid regular expression: Invalid character class
Unicode é対å¿ã¢ã¼ãã§ã¯ã1 ã¤ã®å¢çãæåã¯ã©ã¹ã§ããæåç¯å²ã¯ã-
ããªãã©ã«æåã«ãªãã¾ããããã¯ã¦ã§ãã®äºææ§ã®ããã«éæ¨å¥¨ã§ãã
/[\s-9]/.test("-"); // true
Unicode é対å¿ã¢ã¼ãã§ã¯ãæ£è¦è¡¨ç¾ã¯ BMP æååã¨ãã¦è§£éããã¾ãããã®ãããæåã¯ã©ã¹ã®ãµãã²ã¼ããã¢ã¯ 1 æåã§ã¯ãªã 2 æåã表ãã¾ãã
/[ð]/.test("\ud83d"); // true
/[ð]/u.test("\ud83d"); // false
/[ð-ð]/.test("ð"); // SyntaxError: Invalid regular expression: /[ð-ð]/: Range out of order in character class
/[ð-ð]/u.test("ð"); // true
ãã¿ã¼ã³ã大æåå°æåãç¡è¦ããå ´åã§ããç¯å²ã®ä¸¡ç«¯ã®å¤§æåå°æåã¯ãã©ã®æåããã®ç¯å²ã«å±ããããæ±ºå®ããä¸ã§éè¦ã§ããä¾ãã°ããã¿ã¼ã³ /[E-F]/i
㯠E
ãF
ãe
ãf
ã«ã®ã¿ä¸è´ãã¾ããããã¿ã¼ã³ /[E-f]/i
ã¯ãã¹ã¦ã®å¤§æåã¨å°æåã® ASCII æåï¼EâZ
㨠aâf
ã«ã¾ãããããï¼ãããã³ [
ã\
ã]
ã^
ã_
ã`
ã«ä¸è´ãã¾ãã
v
ã¢ã¼ãã§ãªãå ´åã®æåã¯ã©ã¹ã¯ãã»ã¨ãã©ã®æåãæåéãã«è§£éããæ ¼ç´ããæåã«é¢ããå¶éã¯ãã¾ãããã¾ãããä¾ãã°ã.
ã¯ã¯ã¤ã«ãã«ã¼ãã§ã¯ãªãããããæåã®ãªãã©ã«ã§ããæåéãã«ç¾ãããã¨ãã§ããªãæåã¯ã\
ã]
ã-
ã ãã§ãã
\b
ã\B
ã徿¹åç
§ãé¤ããã»ã¨ãã©ã®ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«å¯¾å¿ãã¦ãã¾ãã\b
ã¯åèªå¢çã®ä»£ããã«ããã¯ã¹ãã¼ã¹æåã示ããä»ã® 2 種é¡ã¯æ§æã¨ã©ã¼ãçºçãã¾ãã\
ããªãã©ã«ã¨ãã¦ä½¿ç¨ãã¦ä½¿ç¨ããã«ã¯ã\\
ã¨ã¨ã¹ã±ã¼ããã¦ãã ããã]
æåã¯æåã¯ã©ã¹ã®çµããã示ãã¾ãããªãã©ã«ã¨ãã¦ä½¿ç¨ããã«ã¯ã\]
ã¨ã¨ã¹ã±ã¼ããã¦ãã ããã-
) æåã¯ã2 ã¤ã®æåã®éã«ä½¿ç¨ããã¨ç¯å²ã示ãã¾ããæåã¯ã©ã¹ã®å
é ãæ«å°¾ã«ç¾ããå ´åã¯ããªãã©ã«æåã§ããç¯å²ã®å¢çã§ä½¿ç¨ããå ´åããªãã©ã«æåã§ããä¾ãã°ã[a-]
㯠a
㨠-
ã«ä¸è´ãã[!--]
㯠!
ãã -
ã«ä¸è´ãã[--9]
㯠-
ãã 9
ã«ä¸è´ãã¾ããã¾ããæåã©ããä»»æã®å ´æã§ä½¿ç¨ãããå ´åã¯ã\-
ã§ã¨ã¹ã±ã¼ããããã¨ãã§ãã¾ããv
ã¢ã¼ãã§ã¯æåã¯ã©ã¹ã®åºæ¬çãªèãæ¹ã¯å¤ããã¾ãããã»ã¨ãã©ã®æåããªãã©ã«ã使ç¨ãã¦ã-
ã使ç¨ãã¦æåç¯å²ã表ããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã使ç¨ãããã¨ãã§ãã¾ããv
ãã©ã°ã®æãéè¦ãªæ©è½ã® 1 ã¤ã¯ãæåã¯ã©ã¹å
ã§ã®ãã»ãã表è¨ãã§ããååè¿°ã¹ãããã«ãéå¸¸ã®æåã¯ã©ã¹ã¯ 2 ã¤ã®ç¯å²ãé£çµãããã¨ã§è«çåãçºçããããã¨ãã§ãã¾ããä¾ãã°ã[A-Z0-9]
ã使ç¨ãã¦ãéå [A-Z]
ã¨éå [0-9]
ã®è«çåããæå³ãã¦ãã¾ãããããã交差ãå·®ã®ãããªæåéåã使ã£ãä»ã®å¦çã表ãç°¡åãªæ¹æ³ã¯ããã¾ããã
v
ãã©ã°ã使ãã¨ã交差㯠&&
ã§è¡¨ç¾ãããå·®éå㯠--
ã§è¡¨ç¾ããã¾ããã©ã¡ãããªãå ´åã¯è«çåã¨ãªãã¾ããã¾ã㯠--
ã® 2 ã¤ã®ãªãã©ã³ãã¯æåãæåã¨ã¹ã±ã¼ããæåã¯ã©ã¹ã¨ã¹ã±ã¼ããå¥ã®æåã¯ã©ã¹ã®ãããããåããã¨ãã§ãã¾ããä¾ãã°ããã¢ã³ãã¼ã¹ã³ã¢ã§ãªãåèªæåãã表ãã«ã¯ [ \w--_]
ã使ããã¨ãã§ãã¾ããåãã¬ãã«ã®æ¼ç®åãæ··åãããã¨ã¯ã§ãã¾ãããä¾ãã°ã[\w&&[A-z]--_]
ã¯æ§æã¨ã©ã¼ã«ãªãã¾ããããããæåã¯ã©ã¹ã¯å
¥ãåã«ãããã¨ãã§ããã®ã§ã[\w&&[[A-z]--_]]
ã [[\w&&[A-z]]--_]
ï¼ã©ã¡ãã [A-Za-z]
ãæå³ãã¦ããï¼ã¨æ¸ããã¨ã§æç¤ºçã«ãããã¨ãã§ãã¾ããåæ§ã«ã[AB--C]
ã¯ç¡å¹ãªã®ã§ã[A[B--C]]
ï¼ããã¯åã« [AB]
ãæå³ãã¦ããï¼ã¨æ¸ãå¿
è¦ãããã¾ãã
v
ã¢ã¼ãã§ã¯ãUnicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ã \p
ã¯ãçµµæåã®ãããªå¯å¤é·ã®æååã¨ä¸è´ããããã¨ãã§ãã¾ãã対称æ§ã®ããã«ãéå¸¸ã®æåã¯ã©ã¹ãè¤æ°ã®æåã«ä¸è´ãããã¨ãã§ãã¾ããæåã¯ã©ã¹ã§ãæååãªãã©ã«ããæ¸ãã«ã¯ããã®æååã \q{...}
ã§å²ã¿ã¾ããããã§å¯¾å¿ãã¦ããæ£è¦è¡¨ç¾æ§æã¯è«çåã®ã¿ã§ããããã¨ã¯å¥ã«ã\q
ã§å®å
¨ã«ãªãã©ã«ï¼ã¨ã¹ã±ã¼ãæåãå«ãï¼ãå²ãå¿
è¦ãããã¾ããããã«ãããæåã¯ã©ã¹ã¯æéåã®å¯è½æ§ãæã¤å¯å¤é·æååã«ã®ã¿ä¸è´ãããã¨ãä¿è¨¼ãã¾ãã
æåã¯ã©ã¹ã®æ§æãããæ´ç·´ãããããã«ãªããããå¤ãã®æåãäºç´ãããæåéãã«ç¾ãããã¨ãç¦æ¢ããã¾ãã
]
㨠\
ã«å ãã(
ã)
ã[
ã{
ã}
ã/
ã-
ã|
ã®æåã¯ãæåã¯ã©ã¹å
ã§æåéãã«è¡¨ããå ´åãã¨ã¹ã±ã¼ãããå¿
è¦ãããã¾ãããã®ãªã¹ãã¯æ§ææåã®ãªã¹ãã¨å¤å°ä¼¼ã¦ãã¾ããã^
ã$
ã*
ã+
ã?
ã¯æåã¯ã©ã¹å
é¨ã§ã¯äºç´ããã¦ãããã/
㨠-
ã¯æåã¯ã©ã¹å¤é¨ã§ã¯äºç´ããã¦ãã¾ããï¼/
ã¯æ£è¦è¡¨ç¾ãªãã©ã«ãåºåãæåã¨ããå¯è½æ§ããããããã¨ã¹ã±ã¼ãããå¿
è¦ãããã¾ããï¼ããããã®æåã¯ãã¹ã¦ããªãã·ã§ã³ã§ u
ã¢ã¼ãæåã¯ã©ã¹ã§ãã¨ã¹ã±ã¼ãã§ãã¾ãã&&
ã!!
ã##
ã$$
ã%%
ã**
ã++
ã,,
ã..
ã::
ã;;
ã<<
ã==
ã>>
ã??
ã@@
ã^^
ã``
ã~~
ãåæ§ã«ã¨ã¹ã±ã¼ãããå¿
è¦ãããã¾ãï¼ãã ããv
ãã©ã°ããªãã¨ãã¾ãæå³ãããã¾ããï¼ãu
ã¢ã¼ãã§ã¯ããããã®æåã®ããã¤ãã¯æåã¯ã©ã¹å
ã«ããç¾ãããã¨ã¹ã±ã¼ãããã¨æ§æã¨ã©ã¼ãçºçãã¾ããv
ã¢ã¼ãã§ã¯ããã¢ã§ç¾ããå ´åã¯ã¨ã¹ã±ã¼ãããªããã°ãªãã¾ããããåç¬ã§ç¾ããå ´åã¯ãªãã·ã§ã³ã§ã¨ã¹ã±ã¼ããããã¨ãã§ãã¾ããä¾ãã°ã/[\!]/u
ã¯èå¥ã¨ã¹ã±ã¼ããªã®ã§ç¡å¹ã§ããã/[\!]/v
㨠/[!]/v
ã®ä¸¡æ¹ã¯æå¹ã§ã/[!!]/v
ã¯ç¡å¹ã§ãããªãã©ã«æååç
§ã«ã¯ãã©ã®æåãã¨ã¹ã±ã¼ãã¾ãã¯ã¢ã³ã¨ã¹ã±ã¼ãããã¦ç¾ãããã®è©³ç´°ãªè¡¨ãããã¾ããè£éåæåã¯ã©ã¹ [^...]
㯠1 æåããé·ãæååã¨ä¸è´ãããã¨ã¯ã§ãã¾ããã ä¾ãã°ã[\q{ab|c}]
ã¯æå¹ã§æåå "ab"
ã¨ä¸è´ãã¾ããã[^\q{ab|c}]
ã¯ä½æåãæ¶è²»ããããã䏿ãªã®ã§ç¡å¹ã§ãããã®ãã§ãã¯ã¯ããã¹ã¦ã® \q
ãåä¸ã®æåãæ ¼ç´ãããã¹ã¦ã® \p
ãæåããããã£ãæå®ãã¦ãããã©ããã調ã¹ããã¨ã§è¡ããã¾ããåéåã®å ´åããªãã©ã³ãã¯ãã¹ã¦ç´ç²ãªæåã§ãªããã°ãªãã¾ããã交差ã®å ´åãå°ãªãã¨ã 1 ã¤ã®ãªãã©ã³ãã¯ç´ç²ãªæåã§ãªããã°ãªãã¾ãããå·®éåã®å ´åã左端ã®ãªãã©ã³ãã¯ç´ç²ãªæåã§ãªããã°ãªãã¾ãããã¤ã¾ãã/[^q{ab|c}--q{ab}]/v
㯠/[^c]/v
ã¨ç価ã§ãããæå¦ããã¾ãã
v
ã¢ã¼ãã§ãªãå ´åãè£éåæåã¯ã©ã¹ [^...]
ã¯åç´ã«ç
§åçµæãå転ããããã®ã¨ãã¦å®è£
ããã¦ãã¾ããã¤ã¾ãã[...]
ãä¸è´ããªãå ´åã¯å¸¸ã« [^...]
ãä¸è´ãããã®éãåæ§ã§ãããããã\P{...}
ã \W
ã®ãããªä»ã®è£éåã¯ã©ã¹ã¯ãæå®ããããããã£ãæããªããã¹ã¦ã®æåãããªãéåãç¬èªã«è¨å®ãããã¨ã§åä½ãã¾ãããããã¯åãåä½ãããããã«è¦ãã¾ããã大æåã¨å°æåãåºå¥ããç
§åã¨ä¸è´ããã¨ããè¤éã«ãªãã¾ãã
以ä¸ã® 2 ã¤ã®æ£è¦è¡¨ç¾ãèãã¦ã¿ã¾ãããã
const r1 = /\p{Lowercase_Letter}/iu;
const r2 = /[^\P{Lowercase_Letter}]/iu;
r2
ã¯äºéå¦å®ã§ãr1
ã¨ç価ã®ããã«è¦ãã¾ããããããå®éã«ã¯ r1
ã¯å°æåã¨å¤§æåã® ASCII æåãã¹ã¦ã«ä¸è´ãã¾ãããr2
ã¯ä¸è´ãã¾ãããã©ã®ããã«åä½ããã®ãã説æããããã«ãUnicode æåéåå
¨ä½ã§ã¯ãªããASCII æåã ããæ±ã£ã¦ããã¨ä»®å®ããr1
㨠r2
ãä¸è¨ã®ããã«æå®ãã¦ã¿ã¾ãããã
const r1 = /[a-z]/iu;
const r2 = /[^A-Z]/iu;
大æåå°æåãåºå¥ããªãç
§åã¯ããã¿ã¼ã³ã¨å
¥åãåã大æåå°æåã«å¤æãããã¨ã«ãã£ã¦è¡ããã¾ãï¼è©³ç´°ã¯ ignoreCase
ãåç
§ãã¦ãã ããï¼ãr1
ã®å ´åãæåã¯ã©ã¹ a-z
ã¯å¤§æåå°æåãåºå¥ããå¾ãåãã¾ã¾ã§ããã大æåã¨å°æåã® ASCII æååã®å
¥åã¯å°æåã«å¤æãããã®ã§ã r1
㯠"A"
㨠"a"
ã®ä¸¡æ¹ã«ä¸è´ãããã¨ãã§ãã¾ããr2
ã®å ´åãæåã¯ã©ã¹ A-Z
㯠a-z
ã«å¤æããã¾ããã^
ã¯ç
§åçµæãå¦å®ããã®ã§ãå®è³ªçã« [^A-Z]
ã¯å¤§æåã®æååã«ã®ã¿ä¸è´ãã¾ãããããã大æåã¨å°æåã® ASCII æååã®å
¥åã¯å°æåã«å¤æãããã¾ã¾ãªã®ã§ãr2
ã¯ä½ã«ãä¸è´ãã¾ããã
v
ã¢ã¼ãã§ã¯ããã®åä½ã¯ä¿®æ£ããã¾ããã[^...]
ãä¸è´ããçµæãå¦å®ãã代ããã«ãè£éåã¯ã©ã¹ãè²ªæ¬²ã«æ§ç¯ãã¾ããããã«ããã[^\P{Lowercase_Letter}]
㨠\p{Lowercase_Letter}
ã¯å³å¯ã«ç価ã«ãªãã¾ãã
次ã®é¢æ°ã¯ãæååãæå¹ãª 16 鲿°ãæ ¼ç´ãã¦ãããã©ãããå¤å®ãã¾ãã
function isHexadecimal(str) {
return /^[0-9A-F]+$/i.test(str);
}
isHexadecimal("2F3"); // true
isHexadecimal("beef"); // true
isHexadecimal("undefined"); // false
交差ã®ä½¿ç¨
次ã®é¢æ°ã¯ã®ãªã·ã£èªã®æåã«ä¸è´ãã¾ãã
function greekLetters(str) {
return str.match(/[\p{Script_Extensions=Greek}&&\p{Letter}]/gv);
}
// ð is U+1018A GREEK ZERO SIGN
greekLetters("ÏðP0é¶Î±AΣ"); // [ 'Ï', 'α', 'Σ' ]
å·®éåã®ä½¿ç¨
以ä¸ã®é¢æ°ã¯ãé ASCII ã®æ°åã«ä¸è´ãã¾ãã
function nonASCIINumbers(str) {
return str.match(/[\p{Decimal_Number}--[0-9]]/gv);
}
// ð¹ is U+11739 AHOM DIGIT NINE
nonASCIINumbers("ð0é¶1ðð¹a"); // [ 'ð', 'ð¹' ]
æååã®ç
§å
以ä¸ã®é¢æ°ã¯ãæ¹è¡æåã \r\n
(CRLF) ã·ã¼ã±ã³ã¹ãå«ããã¹ã¦ã®è¡æ«ã·ã¼ã±ã³ã¹ã«ä¸è´ãã¾ãã
function getLineTerminators(str) {
return str.match(/[\r\n\u2028\u2029\q{\r\n}]/gv);
}
getLineTerminators(`
A poem\r
Is split\r\n
Into many
Stanzas
`); // [ '\r', '\r\n', '\n' ]
ãã®ä¾ã¯ãçãã¨ããç¹ãé¤ãã° /(?:\r|\n|\u2028|\u2029|\r\n)/gu
or /(?:[\r\n\u2028\u2029]|\r\n)/gu
ã¨ã¾ã£ããåãã§ãã
\q{}
ã®æãæçãªç¨éã¯ãå·®åã¨äº¤å·®ãè¡ãå ´åã§ããååã¾ã§ã¯è¤æ°ã®å
èªã¿ã§ä½¿ç¨å¯è½ã§ããã以ä¸ã®é¢æ°ã¯ã¢ã¡ãªã«ãä¸å½ããã·ã¢ãã¤ã®ãªã¹ããã©ã³ã¹ã®ã©ãã§ããªã彿ã«ä¸è´ãã¾ãã
function notUNSCPermanentMember(flag) {
return /^[\p{RGI_Emoji_Flag_Sequence}--\q{ðºð¸|ð¨ð³|ð·ðº|ð¬ð§|ð«ð·}]$/v.test(flag);
}
notUNSCPermanentMember("ðºð¸"); // false
notUNSCPermanentMember("ð©ðª"); // true
ãã®ä¾ã¯ããããããã£ã¨å¹çãè¯ãã¨ãã以å¤ã¯ã/^(?!ðºð¸|ð¨ð³|ð·ðº|ð¬ð§|ð«ð·)\p{RGI_Emoji_Flag_Sequence}$/v
ã¨ã»ã¼åãã§ãã
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