日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

094_正则表达式

發(fā)布時間:2025/4/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 094_正则表达式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 什么是正則表達式?

1.1. 正則表達式是構(gòu)成搜索模式(search pattern)的字符序列。

1.2. 當您搜索文本中的數(shù)據(jù)時, 您可使用搜索模式來描述您搜索的內(nèi)容。

1.3. 正則表達式可以是單字符或者更復(fù)雜的模式。

1.4. 正則表達式可用于執(zhí)行所有類型的文本搜索和文本替換操作。

1.5. 語法

/pattern/modifiers;

2. 正則表達式修飾符

3. 方括號

3.1. 方括號用于查找某個范圍內(nèi)的字符:

?4. 量詞

5. 元字符

5.1. 元字符(Metacharacter)是擁有特殊含義的字符:

6. 支持正則表達式的String對象的方法

7. 修飾符例子

7.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>修飾符</title></head><body><script type="text/javascript">var str1 = 'He nan ruan jian bao dian ke ji you xian gong si。Ta wei yu he nan sheng zheng zhou shi。Ta zhu yao jing ying hu lian wang zai xian jiao yu、hu lian wang dian shang he hu lian wang you xi deng deng。Ta xian zai zhu yao de chan pin shi ruan jian bao dian wang、he nan shang cheng、shou ji nong chang Unity you xi he shou ji xiao xiao le Unity you xi deng deng。Ruan jian bao dian wang mu qian yi jing fu wu yu 100 duo suo he nan gao xiao, 200000 duo wan de gao xiao xue sheng he lao shi, yi gong you 30 duo wan yong hu le。He nan';document.write('<b style="color: green;">' + str1.replace(/he nan/g, '<i style="color: red;">he nan</i>').replace(/He nan/g, '<i style="color: red;">He nan</i>') + '</b><br /><br />');var r1 = str1.match(/he nan/);var r2 = str1.match(/he nan/i);var r3 = str1.match(/he nan/m);var r4 = str1.match(/he nan/g);var r5 = str1.match(/he nan/im);var r6 = str1.match(/he nan/ig);var r7 = str1.match(/he nan/mg);var r8 = str1.match(/he nan/img);document.write('<b>匹配模式是: /he nan/</b>, 匹配結(jié)果: ' + r1 + '<br />');document.write('<b>匹配模式是: /he nan/i</b>, 匹配結(jié)果: ' + r2 + '<br />');document.write('<b>匹配模式是: /he nan/m</b>, 匹配結(jié)果: ' + r3 + '<br />');document.write('<b>匹配模式是: /he nan/g</b>, 匹配結(jié)果: ' + r4 + '<br />');document.write('<b>匹配模式是: /he nan/im</b>, 匹配結(jié)果: ' + r5 + '<br />');document.write('<b>匹配模式是: /he nan/ig</b>, 匹配結(jié)果: ' + r6 + '<br />');document.write('<b>匹配模式是: /he nan/mg</b>, 匹配結(jié)果: ' + r7 + '<br />');document.write('<b>匹配模式是: /he nan/img</b>, 匹配結(jié)果: ' + r8 + '<br /><br />');var r9 = str1.match(/^he nan/);var r10 = str1.match(/^he nan/i);var r11 = str1.match(/^he nan/m);var r12 = str1.match(/^he nan/g);var r13 = str1.match(/^he nan/im);var r14 = str1.match(/^he nan/ig);var r15 = str1.match(/^he nan/mg);var r16 = str1.match(/^he nan/img);document.write('<b>匹配模式是: /^he nan/</b>, 匹配結(jié)果: ' + r9 + '<br />');document.write('<b>匹配模式是: /^he nan/i</b>, 匹配結(jié)果: ' + r10 + '<br />');document.write('<b>匹配模式是: /^he nan/m</b>, 匹配結(jié)果: ' + r11 + '<br />');document.write('<b>匹配模式是: /^he nan/g</b>, 匹配結(jié)果: ' + r12 + '<br />');document.write('<b>匹配模式是: /^he nan/im</b>, 匹配結(jié)果: ' + r13 + '<br />');document.write('<b>匹配模式是: /^he nan/ig</b>, 匹配結(jié)果: ' + r14 + '<br />');document.write('<b>匹配模式是: /^he nan/mg</b>, 匹配結(jié)果: ' + r15 + '<br />');document.write('<b>匹配模式是: /^he nan/img</b>, 匹配結(jié)果: ' + r16 + '<br /><br />');var r17 = str1.match(/he nan$/);var r18 = str1.match(/he nan$/i);var r19 = str1.match(/he nan$/m);var r20 = str1.match(/he nan$/g);var r21 = str1.match(/he nan$/im);var r22 = str1.match(/he nan$/ig);var r23 = str1.match(/he nan$/mg);var r24 = str1.match(/he nan$/img);document.write('<b>匹配模式是: /he nan$/</b>, 匹配結(jié)果: ' + r17 + '<br />');document.write('<b>匹配模式是: /he nan$/i</b>, 匹配結(jié)果: ' + r18 + '<br />');document.write('<b>匹配模式是: /he nan$/m</b>, 匹配結(jié)果: ' + r19 + '<br />');document.write('<b>匹配模式是: /he nan$/g</b>, 匹配結(jié)果: ' + r20 + '<br />');document.write('<b>匹配模式是: /he nan$/im</b>, 匹配結(jié)果: ' + r21 + '<br />');document.write('<b>匹配模式是: /he nan$/ig</b>, 匹配結(jié)果: ' + r22 + '<br />');document.write('<b>匹配模式是: /he nan$/mg</b>, 匹配結(jié)果: ' + r23 + '<br />');document.write('<b>匹配模式是: /he nan$/img</b>, 匹配結(jié)果: ' + r24 + '<br /><br />');var r25 = str1.match(/^he nan$/);var r26 = str1.match(/^he nan$/i);var r27 = str1.match(/^he nan$/m);var r28 = str1.match(/^he nan$/g);var r29 = str1.match(/^he nan$/im); // m在多行匹配的行首和行尾匹配中顯得特別有用var r30 = str1.match(/^he nan$/ig);var r31 = str1.match(/^he nan$/mg);var r32 = str1.match(/^he nan$/img);document.write('<b>匹配模式是: /^he nan$/</b>, 匹配結(jié)果: ' + r25 + '<br />');document.write('<b>匹配模式是: /^he nan$/i</b>, 匹配結(jié)果: ' + r26 + '<br />');document.write('<b>匹配模式是: /^he nan$/m</b>, 匹配結(jié)果: ' + r27 + '<br />');document.write('<b>匹配模式是: /^he nan$/g</b>, 匹配結(jié)果: ' + r28 + '<br />');document.write('<b>匹配模式是: /^he nan$/im</b>, 匹配結(jié)果: ' + r29 + '<br />');document.write('<b>匹配模式是: /^he nan$/ig</b>, 匹配結(jié)果: ' + r30 + '<br />');document.write('<b>匹配模式是: /^he nan$/mg</b>, 匹配結(jié)果: ' + r31 + '<br />');document.write('<b>匹配模式是: /^he nan$/img</b>, 匹配結(jié)果: ' + r32 + '<hr />');var str2 = 'He nan ruan jian bao dian ke ji you xian gong si。Ta wei yu\r\nhe nan sheng zheng zhou shi。Ta zhu yao jing ying hu lian wang zai xian jiao yu、hu lian wang dian shang he hu lian wang you xi deng deng。\r\nTa xian zai zhu yao de chan pin shi ruan jian bao dian wang、he nan\r\nshang cheng、shou ji nong chang Unity you xi he shou ji xiao xiao le Unity you xi deng deng。Ruan jian bao dian wang mu qian yi jing fu wu yu 100 duo suo he nan\r\ngao xiao, 200000 duo wan de gao xiao xue sheng he lao shi, yi gong you 30 duo wan yong hu le。\r\nHe nan';document.write('<b style="color: green;">' + str2.replace(/\r\n/g, '<br />').replace(/he nan/g, '<i style="color: red;">he nan</i>').replace(/He nan/g, '<i style="color: red;">He nan</i>') + '</b><br /><br />');r1 = str2.match(/he nan/);r2 = str2.match(/he nan/i);r3 = str2.match(/he nan/m);r4 = str2.match(/he nan/g);r5 = str2.match(/he nan/im);r6 = str2.match(/he nan/ig);r7 = str2.match(/he nan/mg);r8 = str2.match(/he nan/img);document.write('<b>匹配模式是: /he nan/</b>, 匹配結(jié)果: ' + r1 + '<br />');document.write('<b>匹配模式是: /he nan/i</b>, 匹配結(jié)果: ' + r2 + '<br />');document.write('<b>匹配模式是: /he nan/m</b>, 匹配結(jié)果: ' + r3 + '<br />');document.write('<b>匹配模式是: /he nan/g</b>, 匹配結(jié)果: ' + r4 + '<br />');document.write('<b>匹配模式是: /he nan/im</b>, 匹配結(jié)果: ' + r5 + '<br />');document.write('<b>匹配模式是: /he nan/ig</b>, 匹配結(jié)果: ' + r6 + '<br />');document.write('<b>匹配模式是: /he nan/mg</b>, 匹配結(jié)果: ' + r7 + '<br />');document.write('<b>匹配模式是: /he nan/img</b>, 匹配結(jié)果: ' + r8 + '<br /><br />');r9 = str2.match(/^he nan/);r10 = str2.match(/^he nan/i);r11 = str2.match(/^he nan/m);r12 = str2.match(/^he nan/g);r13 = str2.match(/^he nan/im);r14 = str2.match(/^he nan/ig);r15 = str2.match(/^he nan/mg);r16 = str2.match(/^he nan/img);document.write('<b>匹配模式是: /^he nan/</b>, 匹配結(jié)果: ' + r9 + '<br />');document.write('<b>匹配模式是: /^he nan/i</b>, 匹配結(jié)果: ' + r10 + '<br />');document.write('<b>匹配模式是: /^he nan/m</b>, 匹配結(jié)果: ' + r11 + '<br />');document.write('<b>匹配模式是: /^he nan/g</b>, 匹配結(jié)果: ' + r12 + '<br />');document.write('<b>匹配模式是: /^he nan/im</b>, 匹配結(jié)果: ' + r13 + '<br />');document.write('<b>匹配模式是: /^he nan/ig</b>, 匹配結(jié)果: ' + r14 + '<br />');document.write('<b>匹配模式是: /^he nan/mg</b>, 匹配結(jié)果: ' + r15 + '<br />');document.write('<b>匹配模式是: /^he nan/img</b>, 匹配結(jié)果: ' + r16 + '<br /><br />');r17 = str2.match(/he nan$/);r18 = str2.match(/he nan$/i);r19 = str2.match(/he nan$/m);r20 = str2.match(/he nan$/g);r21 = str2.match(/he nan$/im);r22 = str2.match(/he nan$/ig);r23 = str2.match(/he nan$/mg);r24 = str2.match(/he nan$/img);document.write('<b>匹配模式是: /he nan$/</b>, 匹配結(jié)果: ' + r17 + '<br />');document.write('<b>匹配模式是: /he nan$/i</b>, 匹配結(jié)果: ' + r18 + '<br />');document.write('<b>匹配模式是: /he nan$/m</b>, 匹配結(jié)果: ' + r19 + '<br />');document.write('<b>匹配模式是: /he nan$/g</b>, 匹配結(jié)果: ' + r20 + '<br />');document.write('<b>匹配模式是: /he nan$/im</b>, 匹配結(jié)果: ' + r21 + '<br />');document.write('<b>匹配模式是: /he nan$/ig</b>, 匹配結(jié)果: ' + r22 + '<br />');document.write('<b>匹配模式是: /he nan$/mg</b>, 匹配結(jié)果: ' + r23 + '<br />');document.write('<b>匹配模式是: /he nan$/img</b>, 匹配結(jié)果: ' + r24 + '<br /><br />');r25 = str2.match(/^he nan$/);r26 = str2.match(/^he nan$/i);r27 = str2.match(/^he nan$/m);r28 = str2.match(/^he nan$/g);r29 = str2.match(/^he nan$/im);r30 = str2.match(/^he nan$/ig);r31 = str2.match(/^he nan$/mg);r32 = str2.match(/^he nan$/img);document.write('<b>匹配模式是: /^he nan$/</b>, 匹配結(jié)果: ' + r25 + '<br />');document.write('<b>匹配模式是: /^he nan$/i</b>, 匹配結(jié)果: ' + r26 + '<br />');document.write('<b>匹配模式是: /^he nan$/m</b>, 匹配結(jié)果: ' + r27 + '<br />');document.write('<b>匹配模式是: /^he nan$/g</b>, 匹配結(jié)果: ' + r28 + '<br />');document.write('<b>匹配模式是: /^he nan$/im</b>, 匹配結(jié)果: ' + r29 + '<br />');document.write('<b>匹配模式是: /^he nan$/ig</b>, 匹配結(jié)果: ' + r30 + '<br />');document.write('<b>匹配模式是: /^he nan$/mg</b>, 匹配結(jié)果: ' + r31 + '<br />');document.write('<b>匹配模式是: /^he nan$/img</b>, 匹配結(jié)果: ' + r32);</script></body> </html>

7.2. 效果圖

8. 括號例子

8.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>括號</title></head><body><script type="text/javascript">var str1 = 'Ruan jian bao dian wang fu wu yu 100 duo suo gao xiao, 200000 duo wan de gao xiao xue sheng he lao shi, yi gong you 30 duo wan yong hu le。';var r1 = str1.match(/[0-9A-Za-z]/);var r2 = str1.match(/[^0-9A-Za-z]/);var r3 = str1.match(/(gao xiao)/);var r4 = str1.match(/(gao xiao|bao dian)/);var r5 = str1.match(/(gao xiao)/g);var r6 = str1.match(/(gao xiao|bao dian)/g);document.write('匹配結(jié)果: ' + r1 + '<br />匹配位置: ' + r1.index + '<br />匹配(查找)的字符串: ' + r1.input + '<hr />');document.write('匹配結(jié)果(是一個空格): ' + r2 + '<br />匹配位置: ' + r2.index + '<br />匹配(查找)的字符串: ' + r2.input + '<hr />');document.write('匹配結(jié)果: ' + r3[0] + '<br />匹配的正則表達式的子表達式: ' + r3[1] + '<br />匹配位置: ' + r3.index + '<br />匹配(查找)的字符串: ' + r3.input + '<hr />');document.write('匹配結(jié)果: ' + r4[0] + '<br />匹配的正則表達式的子表達式: ' + r4[1] + '<br />匹配位置: ' + r4.index + '<br />匹配(查找)的字符串: ' + r4.input + '<hr />');document.write('匹配結(jié)果: ' + r5 + '<br />');document.write('匹配結(jié)果: ' + r6 + '<hr />');var r7 = str1.replace(/[1-9]0+/, '5');var r8 = str1.replace(/[1-9]0*/, '5');var r9 = str1.replace(/[1-9]0?/, '5');document.write('匹配結(jié)果: ' + r7 + '<br />');document.write('匹配結(jié)果: ' + r8 + '<br />');document.write('匹配結(jié)果: ' + r9 + '<hr />');var r10 = str1.replace(/[1-9]0+/, '$&');var r11 = str1.replace(/[1-9]0*/, '$`');var r12 = str1.replace(/[1-9]0?/, "$'");document.write('使用與正則表達式匹配的字符串替換匹配字符串結(jié)果: ' + r10 + '<br />');document.write('使用與正則表達式匹配的左側(cè)字符串替換匹配字符串結(jié)果: ' + r11 + '<br />');document.write('使用與正則表達式匹配的右側(cè)字符串替換匹配字符串結(jié)果: ' + r12 + '<hr />');var r13 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$1');var r14 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$2');var r15 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$3');var r16 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$4');var r17 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$5');var r18 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$6');var r19 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, '$7');document.write('匹配結(jié)果: ' + r13 + '<br />');document.write('匹配結(jié)果: ' + r14 + '<br />');document.write('匹配結(jié)果: ' + r15 + '<br />');document.write('匹配結(jié)果: ' + r16 + '<br />');document.write('匹配結(jié)果: ' + r17 + '<br />');document.write('匹配結(jié)果: ' + r18 + '<br />');document.write('匹配結(jié)果: ' + r19 + '<br />');var r20 = str1.replace(/(\s|\w)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w|,)*(1|2|3)0*(\s|\w)*/g, function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10){document.write('與正則表達式匹配的字符串: ' + p1 + '<br />');document.write('第一個匹配的位置: ' + p9 + '<br />');document.write('原字符串: ' + p10 + '<br />');return 'nima';});document.write('匹配結(jié)果: ' + r20 + '<br />');</script></body> </html>

8.2. 效果圖

9. 元字符例子

9.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>元字符</title></head><body><script type="text/javascript">var str1 = 'Ruan jian bao dian wang fu wu yu 100 duo suo gao xiao 200000 duo wan de gao xiao xue sheng he lao shi yi gong you 30 duo wan yong hu le。';// search()方法不執(zhí)行全局匹配, 它將忽略標志g。var r1 = str1.search(/0{2}/);document.write('匹配位置: ' + r1 + '<br />');var r2 = str1.search(/0{3,6}/);document.write('匹配位置: ' + r2 + '<br />');var r3 = str1.search(/0{4,}/);document.write('匹配位置: ' + r3 + '<hr />');var r4 = str1.match(/(gao xiao)(?=(\sxue sheng))/);document.write('匹配字符: ' + r4[0] + ' 匹配位置: ' + r4.index + '<br />');document.write('存儲的子表達式匹配結(jié)果: [' + RegExp.$1 + '], [' + RegExp.$2 + '], [' + RegExp.$3 + ']<br /><br />');var r5 = str1.match(/(gao xiao)(?!( xue sheng))/);document.write('匹配字符: ' + r5[0] + ' 匹配位置: ' + r5.index + '<br />');document.write('存儲的子表達式匹配結(jié)果: [' + RegExp.$1 + '], [' + RegExp.$2 + '], [' + RegExp.$3 + ']<hr />');var r8 = '+-*/\n123\rabc'.match(/./g);document.write(r8 + '<hr />');var r9 = str1.split(/\w{6,}/g);document.write(r9 + '<br />');var r10 = str1.split(/\W/g, 5);document.write(r10 + '<br />');var r11 = str1.split(/\d+/g);document.write(r11 + '<br />');var r12 = str1.split(/\s/g, 5);document.write(r12 + '<br />');var r13 = str1.split(/\b\s\b/);document.write(r13 + '<hr />');var r14 = '1\v2'.search(/\s/);document.write('\\s匹配垂直制表符的位置: ' + r14 + '<br />');var r15 = '1\f2'.search(/\s/);document.write('\\s匹配換頁符的位置: ' + r15 + '<br />');var r16 = '1\t2'.search(/\s/);document.write('\\s匹配制表符的位置: ' + r16 + '<br />');var r17 = '1\r2'.search(/\s/);document.write('\\s匹配回車符的位置: ' + r17 + '<br />');var r18 = '1\n2'.search(/\s/);document.write('\\s匹配換行符的位置: ' + r18 + '<br />');var r19 = '1 2'.search(/\s/);document.write('\\s匹配空格的位置: ' + r19 + '<br />');var r20 = '1 2'.search(/\s/);document.write('\\s匹配tab鍵的位置: ' + r20 + '<hr />');var r21 = str1.match(/\b/);document.write('匹配字符: ' + r21[0] + ' 匹配位置: ' + r21.index + '<br />');var r22 = 'School MySchool'.match(/\BSchool/);document.write('匹配字符: ' + r22[0] + ' 匹配位置: ' + r22.index + '<br />');var r23 = str1.match(/\u3002/);document.write('匹配字符: ' + r23[0] + ' 匹配位置: ' + r23.index + '<br />');</script></body> </html>

9.2. 效果圖

總結(jié)

以上是生活随笔為你收集整理的094_正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。