å设æä»¬æä¸ä¸ªåè¿æ · +7(903)-123-45-67 çå符串ï¼å¹¶æ³è¦æ¾å°å
¶ä¸æææ°åãä½ä¸ä¹åä¸åçæ¯ï¼æä»¬å¯¹å个æ°å䏿å
´è¶£ï¼åªå¯¹å
¨æ°æå
´è¶£ï¼7, 903, 123, 45, 67ã
æ°åæ¯ä¸ä¸ªæå¤ä¸ªæ°å \d çåºåãä¸ºäºæ è®°æä»¬éè¦çæ°éï¼æä»¬éè¦å ä¸ä¸ª éè¯ã
æ°é {n}
æç®åçéè¯ä¾¿æ¯å¤§æ¬å·ä¸çæ°åï¼{n}ã
å¨ä¸ä¸ªåç¬¦ï¼æä¸ä¸ªåç¬¦ç±»ï¼æ [...] çï¼åéå ä¸ä¸ªéè¯ï¼ç¨æ¥æåºæä»¬å
·ä½éè¦çæ°éã
宿ä¸äºé«çº§çå½¢å¼ï¼è®©æä»¬çä¸äºä¾åï¼
- ç¡®åç使°ï¼
{5} -
\d{5}表示 5 使°ï¼ä¸\d\d\d\d\dç¸åãä¸é¢è¿ä¸ªä¾åæ¥æ¾ä¸ä¸ªäºä½æ°çæ°åï¼
alert( "I'm 12345 years old".match(/\d{5}/) ); // "12345"æä»¬å¯ä»¥æ·»å
\bæ¥æé¤ä½æ°æ´å¤çæ°åï¼\b\d{5}\bã - èå´ï¼
{3,5}ï¼å¹é 3-5 个 -
è¦æ¥æ¾ 3-5 ä½çæ°åï¼æä»¬å¯ä»¥å°éå¶åå¨è±æ¬å·ä¸ï¼
\d{3,5}alert( "I'm not 12, but 1234 years old".match(/\d{3,5}/) ); // "1234"æä»¬å¯ä»¥çç¥ä¸éã
é£ä¹æ£å表达å¼
\d{3,}就伿¥æ¾ä½æ°å¤§äºçäº3çæ°åï¼alert( "I'm not 12, but 345678 years old".match(/\d{3,}/) ); // "345678"
让æä»¬åå°å符串 +7(903)-123-45-67ã
æä»¬å¦æéè¦ä¸ä¸ªå以ä¸çæ°åï¼å°±ä½¿ç¨ \d{1,}ï¼
let str = "+7(903)-123-45-67";
let numbers = str.match(/\d{1,}/g);
alert(numbers); // 7,903,123,45,67
缩å
大夿°å¸¸ç¨çéè¯é½æç®åå½¢å¼ï¼
+-
代表âä¸ä¸ªæå¤ä¸ªâï¼ä¸
{1,}ç¸åãä¾å¦ï¼
\d+ç¨æ¥æ¥æ¾æææ°åï¼let str = "+7(903)-123-45-67"; alert( str.match(/\d+/g) ); // 7,903,123,45,67 ?-
代表âé¶ä¸ªæä¸ä¸ªâï¼ä¸
{0,1}ç¸åãæ¢å¥è¯è¯´ï¼å®ä½¿å¾ç¬¦å·åå¾å¯éãä¾å¦ï¼æ¨¡å¼
ou?ræ¥æ¾oï¼åè·é¶ä¸ªæä¸ä¸ªuï¼ç¶åæ¯rãæä»¥
colou?r伿¾å°coloråcolourï¼let str = "Should I write color or colour?"; alert( str.match(/colou?r/g) ); // color, colour *-
代表âé¶ä¸ªå以ä¸âï¼ä¸
{0,}ç¸åãä¹å°±æ¯è¯´ï¼å符å¯ä»¥åºç°ä»»ä½æ¬¡æ°æè ä¸åºç°ãä¾å¦ï¼
\d0*æ¥æ¾ä¸ä¸ªæ°ååé¢è·çä»»ææ°éçé¶ï¼å¯è½æå¾å¤ææ²¡æï¼çæ°åï¼alert( "100 10 1".match(/\d0*/g) ); // 100, 10, 1å°å ¶ä¸
+ï¼ä¸ä¸ªææ´å¤ï¼åæ¯è¾ï¼alert( "100 10 1".match(/\d0+/g) ); // 100, 10 // 1 没æè¢«å¹é åºæ¥ï¼å 为 0+ è¦æ±è³å°æä¸ä¸ª 0
æ´å¤ç¤ºä¾
éè¯æ¯å¾å¸¸ç¨çãå®ä»¬æ¯ææå¤ææ£å表达å¼ç主è¦â模åâï¼æä»¥è®©æä»¬çæ´å¤ç¤ºä¾ã
å°æ°çæ£å表达å¼ï¼å¸¦æµ®ç¹çæ°åï¼ï¼\d+\.\d+
å®ç°ï¼
alert( "0 1 12.345 7890".match(/\d+\.\d+/g) ); // 12.345
âæ²¡æç¹æ§ï¼attributeï¼çæå¼ç HTML æ ç¾ï¼ä¾å¦ <span> æ <p>ï¼âçæ£å表达å¼ã
-
æç®åçï¼
/<[a-z]+>/ialert( "<body> ... </body>".match(/<[a-z]+>/gi) ); // <body>æ£åè¡¨è¾¾å¼æ¥æ¾çå¹é 项æ¯å符
'<'åè·ä¸ä¸ªæå¤ä¸ªæä¸åæ¯ï¼ç¶åæ¯'>'ã -
è¿é¶çï¼
/<[a-z][a-z0-9]*>/iæ ¹æ®æ åï¼HTML æ ç¾åç§°å¯ä»¥å¨é¤äºç¬¬ä¸ä¸ªä½ç½®ä¹å¤çä»»ä½ä½ç½®æä¸ä¸ªæ°åï¼ä¾å¦
<h1>ãalert( "<h1>Hi!</h1>".match(/<[a-z][a-z0-9]*>/gi) ); // <h1>
âæå¼æå
³éçä¸å¸¦ç¹æ§ç HTML æ ç¾âçæ£å表达å¼ï¼/<\/?[a-z][a-z0-9]*>/i
æä»¬å¨æ¨¡å¼å¼å¤´éè¿æ·»å äºä¸ä¸ªå¯éçææ /?ãå¿
é¡»ç¨ä¸ä¸ªåææ è½¬ä¹å®ï¼å¦å JavaScript ä¼è®¤ä¸ºå®æ¯è¿ä¸ªæ¨¡å¼çç»æç¬¦ã
alert( "<h1>Hi!</h1>".match(/<\/?[a-z][a-z0-9]*>/gi) ); // <h1>, </h1>
æä»¬è½å¤ä»è¿äºä¾åä¸çå°ä¸ä¸ªå ±åçè§åï¼æ£å表达å¼è¶ç²¾ç¡® ââ å®å°±è¶é¿è¶å¤æã
ä¾å¦ï¼å¯¹äº HTML æ ç¾ï¼æä»¬å¯ä»¥ä½¿ç¨æ´ç®åçæ£å表达å¼ï¼<\w+>ã使¯ç±äº HTML 对æ ç¾åç§°ææ´ä¸¥æ ¼çéå¶ï¼æä»¥ <[a-z][a-z0-9]*> æ´å¯é
æä»¬å¯ä»¥ä½¿ç¨ <\w+> è¿æ¯éè¦ <[a-z][a-z0-9]*>ï¼
å¨å®é å¼åä¸ï¼è¿ä¸¤ç§åä½é½æ¯å¯ä»¥æ¥åçãå ·ä½ç¨åªä¸ªåå³äºæä»¬å¯¹äºâé¢å¤âå¹é ç宽容ç¨åº¦ï¼ä»¥åéè¿å ¶ä»æ¹å¼å°å®ä»¬ä»ç»æä¸å é¤çå°é¾ç¨åº¦ã
è¯è®º
<code>æ ç¾æå ¥åªæå 个è¯ç代ç ï¼æå ¥å¤è¡ä»£ç å¯ä»¥ä½¿ç¨<pre>æ ç¾ï¼å¯¹äºè¶ è¿ 10 è¡ç代ç ï¼å»ºè®®ä½ ä½¿ç¨æ²ç®±ï¼plnkrï¼JSBinï¼codepenâ¦ï¼