小劉同學的第三篇博文

来源:https://www.cnblogs.com/xiaoliutongxue/archive/2017/12/26/8120597.html
-Advertisement-
Play Games

本想多留點時間寫博文的,但是無奈被諸多瑣事纏身,實際上也沒那麼多事,主要是自己可能分不太清時間輕重吧。 以後在9點開始寫博文,或者中午的時候,反正空下來就寫寫。 (醉了,我也是才知道博客裡面可以直接粘貼圖片,不用插入就行。。。。。) 又是一個很有意思的正則問題,剛開始的時候,總是糾結在sss和ddd ...


 

本想多留點時間寫博文的,但是無奈被諸多瑣事纏身,實際上也沒那麼多事,主要是自己可能分不太清時間輕重吧。

以後在9點開始寫博文,或者中午的時候,反正空下來就寫寫。

(醉了,我也是才知道博客裡面可以直接粘貼圖片,不用插入就行。。。。。)

又是一個很有意思的正則問題,剛開始的時候,總是糾結在sss和ddd和ccc總得出現一個吧,但是實際上是

才是我所想的表達式

在外面再加一個括弧,才是sss、ddd、ccc三選一

而不加括弧就像註釋中寫的一樣,只是匹配三個連續字元,所以^和$都不在有什麼作用了,其實不寫也可以。

剛開始總是覺得這個圖有點奇怪,表達不出我想要的意思,其實現在也想的不是很明白,僅僅只是大概就是,一路匹配過去這樣的意思吧,匹配到三個連續字元的時候就行了。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>homework7</title>
 6 </head>
 7 <body>
 8 <!-- 
 9 /**
10  * @author: xiaoliu
11  * @type: homework
12  * @data: 2017-12-25
13  * @finish: 2017-12-26
14  */
15  -->
16 <script>    
17     var html = '<tr><th style="width:30%">方法</th><th>描述</th></tr><tr><td><a href="/jsref/jsref_anchor.asp">anchor()</a></td><td>創建 HTML 錨。</td></tr><tr><td><a href="/jsref/jsref_big.asp">big()</a></td><td>用大號字體顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_blink.asp">blink()</a></td><td>顯示閃動字元串。</td></tr><tr><td><a href="/jsref/jsref_bold.asp">bold()</a></td><td>使用粗體顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_charAt.asp">charAt()</a></td><td>返回在指定位置的字元。</td></tr><tr><td><a href="/jsref/jsref_charCodeAt.asp">charCodeAt()</a></td><td>返回在指定的位置的字元的 Unicode 編碼。</td></tr><tr><td><a href="/jsref/jsref_concat_string.asp">concat()</a></td><td>連接字元串。</td></tr><tr><td><a href="/jsref/jsref_fixed.asp">fixed()</a></td><td>以打字機文本顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_fontcolor.asp">fontcolor()</a></td><td>使用指定的顏色來顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_fontsize.asp">fontsize()</a></td><td>使用指定的尺寸來顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_fromCharCode.asp">fromCharCode()</a></td><td>從字元編碼創建一個字元串。</td></tr><tr><td><a href="/jsref/jsref_indexOf.asp">indexOf()</a></td><td>檢索字元串。</td></tr><tr><td><a href="/jsref/jsref_italics.asp">italics()</a></td><td>使用斜體顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_lastIndexOf.asp">lastIndexOf()</a></td><td>從後向前搜索字元串。</td></tr><tr><td><a href="/jsref/jsref_link.asp">link()</a></td><td>將字元串顯示為鏈接。</td></tr><tr><td><a href="/jsref/jsref_localeCompare.asp">localeCompare()</a></td><td>用本地特定的順序來比較兩個字元串。</td></tr><tr><td><a href="/jsref/jsref_match.asp">match()</a></td><td>找到一個或多個正則表達式的匹配。</td></tr><tr><td><a href="/jsref/jsref_replace.asp">replace()</a></td><td>替換與正則表達式匹配的子串。</td></tr><tr><td><a href="/jsref/jsref_search.asp">search()</a></td><td>檢索與正則表達式相匹配的值。</td></tr><tr><td><a href="/jsref/jsref_slice_string.asp">slice()</a></td><td>提取字元串的片斷,併在新的字元串中返回被提取的部分。</td></tr><tr><td><a href="/jsref/jsref_small.asp">small()</a></td><td>使用小字型大小來顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_split.asp">split()</a></td><td>把字元串分割為字元串數組。</td></tr><tr><td><a href="/jsref/jsref_strike.asp">strike()</a></td><td>使用刪除線來顯示字元串。</td></tr><tr><td><a href="/jsref/jsref_sub.asp">sub()</a></td><td>把字元串顯示為下標。</td></tr><tr><td><a href="/jsref/jsref_substr.asp">substr()</a></td><td>從起始索引號提取字元串中指定數目的字元。</td></tr><tr><td><a href="/jsref/jsref_substring.asp">substring()</a></td><td>提取字元串中兩個指定的索引號之間的字元。</td></tr><tr><td><a href="/jsref/jsref_sup.asp">sup()</a></td><td>把字元串顯示為上標。</td></tr><tr><td><a href="/jsref/jsref_toLocaleLowerCase.asp">toLocaleLowerCase()</a></td><td>把字元串轉換為小寫。</td></tr><tr><td><a href="/jsref/jsref_toLocaleUpperCase.asp">toLocaleUpperCase()</a></td><td>把字元串轉換為大寫。</td></tr><tr><td><a href="/jsref/jsref_toLowerCase.asp">toLowerCase()</a></td><td>把字元串轉換為小寫。</td></tr><tr><td><a href="/jsref/jsref_toUpperCase.asp">toUpperCase()</a></td><td>把字元串轉換為大寫。</td></tr><tr><td>toSource()</td><td>代表對象的源代碼。</td></tr><tr><td><a href="/jsref/jsref_toString_string.asp">toString()</a></td><td>返回字元串。</td></tr><tr><td><a href="/jsref/jsref_valueOf_string.asp">valueOf()</a></td><td>返回某個字元串對象的原始值。</td></tr></tbody>'
18 
19     var test = '<tr><td><a href="/jsref/jsref_anchor.asp">anchor()</a></td><td>創建 HTML 錨。</td></tr>';
20     //註意anchor() ()也是關鍵字,需要轉義
21     var regex = /<tr><td><a href="([^"]+)">([^<]+)<\/a><\/td><td>([^<]+)<\/td><\/tr>/g;
22     // if (regex.exec(test)) {
23     //     alert("匹配成功");
24     // } else{
25     //     alert("error");
26     // }
27     var count = 1;
28     while(regex.exec(html)){
29         console.log("鏈接:http:/" + RegExp.$1);
30         console.log("API函數:" + RegExp.$2);
31         console.log("描述:" + RegExp.$3);
32         console.log("============第" + count + "個============");
33         count++;
34     }
35 </script>
36 </body>
37 </html>

原本是不行插入代碼的,這個插入的代碼簡直其醜無比,無奈截不下那麼大的圖,而且時間已經很晚了,就這樣將就了吧。

主要還是這個 "([^"]+)" 這種寫法完全沒有想到,現在想來的確有妙用,特別是老師說的匹配中文字元的時候,只要匹配下一個不是引號的字元就行。

 

這是結果的一小部分截圖

其實這個結果我也是調試了很久才寫出來的,之前一直把最關鍵的g給漏掉了,導致while死迴圈了,雖然瀏覽器崩了,但是還是能看到結果,都是重覆的第一個,其實當時也沒註意到,結果是一直重覆第一個,我還以為是while迴圈寫錯了,後面還特意去改寫了for迴圈,想就先寫死50個,看看結果怎麼樣,但是發現還是不行,無奈後面其實是比對老師的代碼,才意識到是全局匹配的問題,是個大教訓,留個圖

好吧,今天其實很不用心,寫的。。。畢竟菜雞入門,先堅持下來每天寫博文再說。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 解決方法: 修改這個文件 assets/data/dcloud_control.xml <msc version="1.9.9.39354" debug="true"><apps><app appid="yourapp" appver="1.0.3"/></apps></msc> 設置debug就可 ...
  • 在接入FaceBook第三方登錄的時候,需要獲取Android Hash Key。 Android Hash Key即密鑰散列有兩種,一種是開發秘鑰散列,一種是發佈秘鑰散列。這裡主要介紹如何獲取開發秘鑰散列Debug Android Hash Key。 步驟如下: 1、到https://code.g ...
  • 一.移動客服端實現對PC端數據的操作 在PC端模擬一個資料庫,實現用戶的增刪改查,然後在移動客服端實現對PC端資料庫的操作 在PC端建立三個表 用戶表(Users),員工表(Emp), 部門表(Dept), User表對應欄位,並設置對應的set/get方法,這裡不一一寫出 Emp表對應欄位 Dep ...
  • 參考自http://blog.csdn.net/u010752082/article/details/50810190 代碼先貼出來: 首先說明一下,要搜索到歌詞,需要先搜索歌曲,得到歌曲對應的id和accesskey後才能進行歌詞的獲取。 那麼我們先從搜索歌曲的URL開始說起: 其中的name為搜 ...
  • 前言 前文在API規劃時就已經有提到過組件API這個概念,本文將會介紹它的原理以及實現 理解組件API這個概念 在quick hybrid中,API是按模塊劃分的,如 ,`page 組件` 為什麼叫組件?可以這樣理解,模塊更多的是H5前端的叫法(因為在前端看來不同API分別屬於不同的模塊下), 而組 ...
  • 近期在學習typescript的時候,發現ts居然可以對原生js做強檢測。發現從v2.3就開始直接了。這讓我感嘆他的變化,又讓我自己感到學習的緩慢。本文章就對他小試牛刀一下。 一、他是的使用與支持 通過閱讀官網的說明,瞭解到他實現驗證是通過jsdoc的註釋結構實現。然後在.js文件頭部加入如下註釋標 ...
  • 這裡的編譯前指的是開始觸發主要的事件流this-compilaiton、compilation之前,由於還有一些準備代碼,這一節全部弄出來。 模塊基本上只走構造函數,具體的方法調用的時候再具體講解。 上一節NormalModuleFactory模塊的構造函數中,在處理完rules後,註入兩個事件流就 ...
  • 最近由於工作的原因碰到一個問題,就是在一個彈窗寬度不定的情況下還能是該彈窗居中顯示,思考許久未找到合適辦法,於是在網上找到一些辦法在此總結記錄下來方便以後的學習。 方法一: 相容IE67,但是當元素寬度大於50%時,會出現滾動條。 這個是需要劇中的元素,寬度不確定 .father { display ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...