æ£è¦è¡¨ç¾ï¼ç¥ã㦠regexï¼ã¯ãéçºè ãæååããã¿ã¼ã³ã¨ç §åããããé¨åä¸è´æ å ±ãæ½åºããããåã«æååããã®ãã¿ã¼ã³ã«é©åãããã©ãããæ¤æ»ããããããã¨ãã§ãã¾ããæ£è¦è¡¨ç¾ã¯å¤ãã®ããã°ã©ãã³ã°è¨èªã§ä½¿ããã¦ãããJavaScript ã®æ§æã¯ Perl ããå½±é¿ãåãã¦ãã¾ãã
å©ç¨ã§ããæ£è¦è¡¨ç¾ã®æ§æã¨ããããã©ã®ããã«åä½ããã®ãã®æ¦è¦ãææ¡ããããã«ãæ£è¦è¡¨ç¾ã¬ã¤ããèªããã¨ããå§ããã¾ãã
解説æ£è¦è¡¨ç¾ã¯ãå½¢å¼è¨èªçè«ã«ãããéè¦ãªæ¦å¿µã§ããæ£è¦è¡¨ç¾ã¯ãæååã®ç¡ééåï¼ãè¨èªãã¨å¼ã°ããï¼ãè¨è¿°ããæ¹æ³ã§ããæ£è¦è¡¨ç¾ã®æ ¸ã¨ãªãã®ã¯ä»¥ä¸ã®æ©è½ã§ãï¼
ab
ã¯ãæå a
ã«ç¶ãæå b
ããæå³ãã¦ãã¾ããa|b
ã¯ãa
ã b
ã®ã©ã¡ããããæå³ãã¦ãã¾ããa*
ã¯ã0æå以ä¸ã® a
æåããæå³ãã¦ãã¾ããæéã®ã¢ã«ãã¡ãããï¼è±èªã®ã¢ã«ãã¡ããã 26 æåã Unicode æåéåå ¨ä½ãªã©ï¼ã¨ã¿ãªãããã¨ããã¹ã¦ã®æ£è¦è¨èªã¯ä¸è¨ã®æ©è½ã«ãã£ã¦çæãããã¨ãã§ãã¾ãããã¡ãããå¤ãã®ãã¿ã¼ã³ã¯ãã®æ¹æ³ã§è¡¨ç¾ããã®ã¯ã¨ã¦ãé¢åãªã®ã§ (ã10 æ¡ã®æ°åãããç©ºç½æåã§ã¯ãªãæåããªã©)ãJavaScript ã®æ£è¦è¡¨ç¾ã«ã¯ä¸è¨ã«ç´¹ä»ãããããªå¤ãã®ç¥è¨æ³ãå«ã¾ãã¦ãã¾ãã
ã¡ã¢: JavaScriptã®æ£è¦è¡¨ç¾ã¯å¾æ¹åç §ãåå¨ãããããå®éã«ã¯æ£è¦è¡¨ç¾ã§ã¯ããã¾ããï¼æ£è¦è¡¨ç¾ã¯æéç¶æ ãæã¤å¿ è¦ãããã¾ãï¼ãããããããã§ãã¨ã¦ãæçãªæ©è½ã§ãã
æ£è¦è¡¨ç¾ã®ä½ææ£è¦è¡¨ç¾ã¯é常ããã¿ã¼ã³ãã¹ã©ãã·ã¥ (/
) ã§å²ãã§ãªãã©ã«ã¨ãã¦ä½æãã¾ãã
æ£è¦è¡¨ç¾ã¯ RegExp()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ä½æãããã¨ãã§ãã¾ãã
const regex2 = new RegExp("ab+c", "g");
å®è¡æã®éãã¯ããã¾ããããããã©ã¼ãã³ã¹ãéçè§£ææ§ãããã³ã¨ã¹ã±ã¼ãæåã®ãªã¼ãµãªã³ã°ã®äººéå·¥å¦çãªèª²é¡ã«å½±é¿ãæã¤ãã¨ãã§ãã¾ãã詳ããæ
å ±ã¯ RegExp
ãåç
§ãã¦ãã ããã
ãã©ã°ã¯ãæ£è¦è¡¨ç¾ãè§£éãããæ¹æ³ãå ¥åããã¹ãã¨ããã¨ãããæ¹æ³ã夿´ã§ããç¹å¥ãªå¼æ°ã§ããåãã©ã°ã¯ `RegExp`` ãªãã¸ã§ã¯ãã® 1 ã¤ã®ã¢ã¯ã»ãµã¼ããããã£ã«å¯¾å¿ãã¾ãã
ãã©ã° 説æ 対å¿ãããããããã£d
é¨åæååã®ä¸è´ã®ã¤ã³ããã¯ã¹ãçæãã¾ãã hasIndices
g
ã°ãã¼ãã«æ¤ç´¢ã§ã global
i
大æåå°æåãåºå¥ããªãæ¤ç´¢ã§ãã ignoreCase
m
æ¹è¡æåã ^
ããã³ $
ã¨ä¸è´ããã¾ãã multiline
s
.
ãæ¹è¡æåã¨ä¸è´ããã¾ãã dotAll
u
"Unicode" ã§ãããã¿ã¼ã³ã Unicode ã³ã¼ããã¤ã³ãã®ä¸¦ã³ã¨ãã¦æ±ãã¾ãã unicode
v
u
ã¢ã¼ããã¢ããã°ã¬ã¼ããããã£ã¨å¤ãã® Unicode æ©è½ã使ç¨å¯è½ã«ãã¾ãã unicodeSets
y
対象ã¨ããæååã®ç¾å¨ä½ç½®ããå§ãã¦ä¸è´ãããç²çã(sticky) æ¤ç´¢ãè¡ãã¾ãã sticky
以ä¸ã®ä¸è¦§ã¯ãå©ç¨ã§ãããã¹ã¦ã®æ£è¦è¡¨ç¾æ§æããæ§æã®æ§è³ªãã¨ã«åé¡ãããã®ã§ãã
ã¢ãµã¼ã·ã§ã³ã¢ãµã¼ã·ã§ã³ã¯ãæååãæå®ããä½ç½®ã§ç¹å®ã®æ¡ä»¶ãæºãããã©ãããæ¤æ»ããæ§æã§ããã¢ãµã¼ã·ã§ã³ã¯æ°éåã§ãã¾ããã
^
, $
ç¾å¨ã®ä½ç½®ãå
¥åã®éå§ã¾ãã¯çµäºã§ãããã¨ãã¾ã㯠m
ãã©ã°ãè¨å®ããã¦ããå ´åã¯ãè¡ã®éå§ã¾ãã¯çµäºã§ãããã¨ã表ãã¾ãã
(?=...)
, (?!...)
ç¾å¨ã®ä½ç½®ãç¹å®ã®ãã¿ã¼ã³ã®å¾ã«æ¥ããã¨ãã¾ãã¯æ¥ãªããã¨ã表ãã¾ãã
(?<=...)
, (?<!...)
ç¾å¨ã®ä½ç½®ãç¹å®ã®ãã¿ã¼ã³ã®åã«æ¥ããã¨ãã¾ãã¯æ¥ãªããã¨ã表ãã¾ãã
\b
, \B
ç¾å¨ã®ä½ç½®ãåèªå¢çã§ãããã¨ã表ãã¾ãã
ã¢ãã ã¯æ£è¦è¡¨ç¾ã®æãåºæ¬çãªåä½ã§ããåã¢ãã ã¯æååä¸ã® 1 ã¤ä»¥ä¸ã®æåããæ¶è²»ãããç §åã«å¤±æããããæ¬¡ã®ã¢ãã ã§ãã¿ã¼ã³ã®ç §åãç¶ããã®ã©ã¡ããã§ãã
\1
, \2
ãã®åã§ãã£ããã£ã°ã«ã¼ãã«ä¸è´ããææããããµããã¿ã¼ã³ã«ä¸è´ãã¾ãã
(...)
ãµããã¿ã¼ã³ã«ä¸è´ããä¸è´ããæ å ±ãè¨æ¶ãã¾ãã
[...]
, [^...]
ããæåéåã«å«ã¾ãããã¾ãã¯å«ã¾ããªãæåã¨ä¸è´ãã¾ããv
ãã©ã°ãæå¹ã«ããã¨ãå¯å¤é·ã®æååã«ãä¸è´ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
\d
, \D
, \w
, \W
, \s
, \S
ãããããè¨å®ãããæåéåã«å«ã¾ãããã¾ãã¯å«ã¾ããªãæåã¨ä¸è´ãã¾ãã
\n
, \u{...}
ãªãã©ã«å½¢å¼ã§ã¯è¡¨ç¾ãã«ããæåã¨ä¸è´ãã¾ãã
a
, b
ç¹å®ã®æåã¨ä¸è´ãã¾ãã
\k<name>
ãã®åã§ååä»ããã£ããã£ã°ã«ã¼ãã«ä¸è´ããææããããµããã¿ã¼ã³ã«ä¸è´ãã¾ãã
(?<name>...)
ãµããã¿ã¼ã³ã«ä¸è´ããä¸è´ããæ å ±ãè¨æ¶ãã¾ãããã®ã°ã«ã¼ãã¯ããã¿ã¼ã³å ã®ã¤ã³ããã¯ã¹ã§ã¯ãªããç¬èªã®ååã§èå¥ãããã¨ãã§ãã¾ãã
(?:...)
ä¸è´ããæ å ±ãè¨æ¶ãããã¨ãªãããµããã¿ã¼ã³ã«ä¸è´ãã¾ãã
\p{...}
, \P{...}
Unicode ããããã£ãæå®ãã¾ããv
ãã©ã°ãæå¹ã«ããã¨ãå¯å¤é·ã®æååã«ãä¸è´ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
.
s
ãã©ã°ãè¨å®ããã¦ããªãéããæ¹è¡ä»¥å¤ã®æåã¨ä¸è´ãã¾ãã
ãããã®æ©è½ã¯ããèªèº«ã¯ãã¿ã¼ã³ãæå®ãã¾ãããããã¿ã¼ã³ãæ§æããããã«ä½¿ç¨ãã¾ãã
|
|
æåã§åºåããã鏿è¢ã®éåã®ããããã¨ä¸è´ãã¾ãã
*
, +
, ?
, {n}
, {n,}
, {n,m}
ã¢ãã ã«ä¸å®åæ°ä¸è´ãã¾ãã
æ£è¦è¡¨ç¾ã«ããããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ãã¨ã¯ã\
ã®å¾ã« 1 ã¤ä»¥ä¸ã®æåãç¶ããã¨ã§å½¢æãããæ§æã®ãã¨ãæãã¾ãã以ä¸ã¯æå¹ãªã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã®ä¸è¦§ã§ãã
\
\ ã«ä»ã®æ°åãç¶ãã¨å¤ã 8 鲿°ã®ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«ãªããUnicode 対å¿ã¢ã¼ãã§ã¯ç¦æ¢ããã¦ãã¾ãã
å ãã¦ã\
ã«ã¯ä¸é¨ã®è¨å·ãæ°åãç¶ãããã¨ãã§ãããã®å ´åãã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã¯å¸¸ã«ã¨ã¹ã±ã¼ããããæåèªèº«ã表ãæåã¨ã¹ã±ã¼ãã¨ãªãã¾ãã
\$
, \(
, \)
, \*
, \+
, \.
, \/
, \?
, \[
, \\
, \]
, \^
, {
, \|
, }
: valid everywhere\-
: æåã¯ã©ã¹ã®ä¸ã§ã®ã¿æå¹\!
, \#
, \%
, \&
, \,
, \:
, \;
, \<
, \=
, \>
, \@
, \`
, \~
: v
ã¢ã¼ãæåã¯ã©ã¹ã®ä¸ã§ã®ã¿æå¹ä»ã«ã ASCII æåãããªãã¡ç©ºç½æåã"
ã'
ã_
ãããã¦ä¸è¨ä»¥å¤ã®æåã¯æå¹ãªã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã§ã¯ããã¾ãããUnicode é対å¿ã¢ã¼ãã§ã¯ãä¸è¨ã®ãããã§ããªãã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã¯èå¥ã¨ã¹ã±ã¼ãã¨ãªããããã¯ã¹ã©ãã·ã¥ã«ç¶ãæåã表ãã¾ããä¾ãã°ã\a
ã¯æå a
ã表ãã¾ãããã®åä½ã¯ã徿¹äºææ§ã®èª²é¡ãçºçããããã¨ãªãæ°ããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ãå°å
¥ããè½åãå¶éãããããUnicode 対å¿ã¢ã¼ãã§ã¯ç¦æ¢ããã¦ãã¾ãã
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