æ£å表达å¼ï¼ç®ç§° regexï¼å 许å¼åäººåæ ¹æ®æ¨¡å¼å¹é å符串ãæååå¹é ä¿¡æ¯ï¼æç®åå°æµè¯å符串æ¯å¦ç¬¦å该模å¼ãæ£å表达å¼å¨è®¸å¤ç¼ç¨è¯è¨ä¸é½æä½¿ç¨ï¼JavaScript çè¯æ³å Perl çå¯åã
æä»¬å»ºè®®ä½ é 读æ£åè¡¨è¾¾å¼æåï¼ä»¥å ¨é¢äºè§£å¯ç¨çæ£å表达å¼è¯æ³åå ¶å·¥ä½åçã
æè¿°æ£åè¡¨è¾¾å¼æ¯å½¢å¼è¯è¨ç论ä¸çä¸ä¸ªéè¦æ¦å¿µãæ£åè¡¨è¾¾å¼æ¯ä¸ç§æè¿°å¯è½æ¯æ éçå符串éåï¼ç§°ä¸ºè¯è¨ï¼çæ¹æ³ãæ£å表达å¼çæ ¸å¿éè¦å ·å¤ä»¥ä¸ç¹å¾ï¼
ab
表示âå符 a
åè·å符 b
âãa|b
表示âa
æ b
âãa*
表示âé¶ä¸ªæå¤ä¸ª a
å符âãå设æä¸ä¸ªæéçåæ¯è¡¨ï¼å¦ 26 ä¸ªè±æåæ¯ææ´ä¸ª Unicode å符éï¼ï¼é£ä¹æææ£å表达å¼è¯è¨é½å¯ä»¥éè¿ä¸è¿°ç¹å¾çæãå½ç¶ï¼è®¸å¤æ¨¡å¼ç¨è¿ç§æ¹å¼æ¥è¡¨è¾¾é常ç¹çï¼å¦â10 使°åâæâä¸ä¸ªéç©ºæ ¼çå符âï¼ï¼å æ¤ JavaScript æ£å表达å¼å å«è®¸å¤é记符å·ï¼ä¸é¢å°ä¸ä¸ä»ç»ã
夿³¨ï¼ ç±äºåå¨ååå¼ç¨ï¼æ£å表达å¼å¿ é¡»å ·ææéç¶æï¼ï¼JavaScript æ£å表达å¼å®é ä¸å¹¶ä¸âæ£åâãä¸è¿ï¼ååå¼ç¨ä»ç¶æ¯ä¸ä¸ªé常æç¨çç¹æ§ã
å建æ£åè¡¨è¾¾å¼æ£å表达å¼é常æ¯ç¨æ£æçº¿ï¼/
ï¼å°æ¨¡å¼æ¬èµ·æ¥ï¼ä»¥åé¢éå½¢å¼å建çï¼
ä¹å¯ä»¥ä½¿ç¨ RegExp()
æé 彿°æ¥å建æ£å表达å¼ï¼
const regex2 = new RegExp("ab+c", "g");
å®ä»¬å¨è¿è¡æ¶æ²¡æåºå«ï¼ä½å¯è½ä¼å¯¹æ§è½ãéæåææ§åç¼å转ä¹å符æ¶ç人ä½å·¥ç¨å¦é®é¢äº§çå½±åãæå
³è¯¦ç»ä¿¡æ¯ï¼è¯·åé
RegExp
åèèµæã
æ å¿ï¼flagï¼æ¯ä¸ç§ç¹æ®åæ°ï¼å¯ä»¥æ¹åæ£å表达å¼çè§£éæ¹å¼æä¸è¾å
¥ææ¬çäº¤äºæ¹å¼ãæ¯ä¸ªæ å¿é½ä¸ RegExp
对象ä¸çä¸ä¸ªè®¿é®å¨å±æ§ç¸å¯¹åºã
d
çæå串å¹é
çç´¢å¼ã hasIndices
g
å
¨å±æ¥æ¾ã global
i
忽ç¥å¤§å°åæ¥æ¾ã ignoreCase
m
å
许 ^
å $
å¹é
æ¢è¡ç¬¦ã multiline
s
å
许 .
å¹é
æ¢è¡ç¬¦ã dotAll
u
âUnicodeâï¼å°æ¨¡å¼è§ä¸º Unicode ç ä½åºåã unicode
v
å级 u
模å¼ï¼æä¾æ´å¤ Unicode ç ç¹æ§ã unicodeSets
y
æ§è¡âç²æ§ï¼stickyï¼âæç´¢ï¼ä»ç®æ å符串çå½åä½ç½®å¼å§å¹é
ã sticky
ä¸é¢åèæè¯æ³æ§è´¨ååºäºææå¯ç¨çæ£å表达å¼è¯æ³ã
æè¨æè¨ï¼assertionï¼æ¯ä¸ç§ç»æï¼ç¨äºæµè¯åç¬¦ä¸²å¨æå®ä½ç½®æ¯å¦æ»¡è¶³ç¹å®æ¡ä»¶ï¼ä½ä¸æ¶èå符ãæè¨ä¸è½ä½¿ç¨éè¯ã
^
ã$
æè¨å½åä½ç½®æ¯è¾å
¥çå¼å§æç»æï¼å¦æè®¾ç½®äº m
æ å¿ï¼åæè¨å½åä½ç½®æ¯ä¸è¡çå¼å§æç»æã
(?=...)
ã(?!...)
æè¨å½åä½ç½®æ¯å¦è¢«æä¸ªæ¨¡å¼è·éã
(?<=...)
ã(?<!..)
æè¨å½åä½ç½®æ¯å¦å¨æä¸ªæ¨¡å¼ä¹åã
\b
ã\B
æè¨å½åä½ç½®æ¯åè¯è¾¹çã
ååï¼atomï¼æ¯æ£å表达å¼çæåºæ¬åä½ãæ¯ä¸ªååæ¶èå符串ä¸çä¸ä¸ªæå¤ä¸ªå符ï¼è¦ä¹å¹é 失败ï¼è¦ä¹å 许模å¼ç»§ç»å¹é ä¸ä¸ä¸ªååã
\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}
å¹é åååºåä¸å®æ¬¡æ°ã
卿£å表达å¼ä¸ï¼è½¬ä¹åºåæ¯æä»»ä½ä¸ç§ç± \
åè·ä¸ä¸ªæå¤ä¸ªåç¬¦ç»æçè¯æ³ãæ ¹æ® \
åé¢çå符çä¸åï¼å®ä»¬çä½ç¨ä¹å¤§ç¸å¾åºãä¸é¢ååºäºææææçâ转ä¹åºåâï¼
åè·ä»»ä½å
¶ä»æ°åå符ç \
åæä¼ ç»çå
«è¿å¶è½¬ä¹åºåï¼å¨ Unicode æç¥æ¨¡å¼ä¸æ¯ç¦æ¢çã
æ¤å¤ï¼\
åé¢è¿å¯ä»¥è·ä¸äºéåæ¯ææ°åå符ï¼å¨è¿ç§æ
åµä¸ï¼è½¬ä¹åºåæ»æ¯å符转ä¹ï¼ä»£è¡¨è½¬ä¹å符æ¬èº«ï¼
\$
ã\(
ã\)
ã\*
ã\+
ã\.
ã\/
ã\?
ã\[
ã\\
ã\]
ã\^
ã{
ã\|
ã}
ï¼å¨ä»»ä½å°æ¹é½ææ\-
ï¼ä»
å¨åç¬¦ç±»ä¸ææ\!
ã\#
ã\%
ã\&
ã\,
ã\:
ã\;
ã\<
ã\=
ã\>
ã\@
ã\`
ã\~
ï¼ä»
å¨ v-模å¼åç¬¦ç±»ä¸ææå
¶ä» ASCII å符ï¼å³ç©ºæ ¼å符ã"
ã'
ã_
åä¸è¿°æªæåçä»»ä½åæ¯å符ï¼é½ä¸æ¯ææç转ä¹åºåãå¨ Unicode éæç¥æ¨¡å¼ä¸ï¼ä¸å±äºä¸è¿°è½¬ä¹åºåç转ä¹åºå称为ä¸è´è½¬ä¹åºåï¼identity escapeï¼ï¼å®ä»¬ä»£è¡¨åææ åçå符ãä¾å¦ï¼\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