91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript中如何使用正則表達式

發布時間:2022-02-23 11:42:02 來源:億速云 閱讀:184 作者:小新 欄目:開發技術

小編給大家分享一下Javascript中如何使用正則表達式,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

正則表達式 - 簡介

Regex 起源于神經科學數學,直到 1968 年Ken Thompson在用于文本搜索的 QED 文本編輯器中才在編程中實現。現在它是許多編程語言的一部分,例如perl、Java、Python、Ruby 和 JavaScript。

讓我們看一些關于正則表達式如何工作的例子。

我會用 JavaScript在我的例子中。現在,要通過初級水平,你需要學習所有字符、類、量詞、修飾符和方法在正則表達式中使用。這是JavaScript教程中的正則表達式頁面的鏈接,你可以在其中查看包含所有這些的表。你還可以參考本文末尾的備忘單,其中包含最常用的字符。

以下是突出顯示的一行中的匹配示例:

Basket, bulb,B12 vitamin, BaSO4 , N BC company

上面的正則表達式將停止搜索"Basket"并返回一個積極的回復. 這是因為如果你希望正則表達式查看所有可能的匹配項,則必須指定全局修飾符 ' g'。

現在,讓我們看看如何使用這個表達式 JavaScript. 該test法有云:如果找到了一個匹配的回報true,否則false。

var input = "your test string", regex = /B[a-zA-Z\d]+/;
if(!regex.test(input))
alert('No match is found');
else
alert('A match is found');

讓我們嘗試另一種方法:match返回在數組中找到的匹配項。

var input = "your test string", 
regex = /B[a-zA-Z\d]+/g, 
/*I've added the global modifier 'g' to the regex to get all the matches*/
ary = input.match(regex); 
if(ary===null)
alert('No match is found');
else
alert('matches are: ' + ary.toString());

字符串replace呢?現在讓我們用正則表達式試試。

var input = "your test string", 
regex = /B[a-zA-Z\d]+/g;
alert(input.replace(regex, "#"));
正則表達式練習

對于練習,你可以在百度、谷歌等搜索“正則表達式練習”并嘗試解決它們。根據難度級別,以下是嘗試這些練習時的預期結果。

基本的

對我來說,能夠驗證密碼對初學者來說就足夠了。因此,驗證 8 到 16 個字符的密碼長度, 字母數字,允許你選擇特殊字符。

中間的

這是你應該練習更多真實世界數據并學習更多正則表達式點的地方,如前瞻、后視斷言和匹配組;

  • 驗證 PIN 碼、十六進制、日期、電子郵件 ID、浮點數。

  • 替換尾隨零、空格、一組匹配的單詞

  • 提取 URL 的不同部分

進階的

你可以優化上述練習的解決方案 - 最優化的電子郵件正則表達式包含數千個字符 - 因此,只要你感到舒服就可以使用它,這就足夠了。你也可以試試:

  • 解析HTML或XML(盡管在現實世界中不鼓勵這樣做,因為使用正則表達式解析像HTML這樣的非正則語言永遠不會萬無一失。加上XML解析是一項艱巨的任務,更適合高級用戶)

  • 替換標簽

  • 刪除注釋(IE 條件注釋除外)

正則表達式工具

可視化正則表達式的工具對我來說是最酷的事情之一。如果你遇到過很長的復雜正則表達式,只需將它們復制粘貼到其中一個工具中,你就可以清楚地查看流程。除此之外,你還可以使用許多工具來處理正則表達式代碼。他們還展示了示例和備忘單以及共享功能。

  • Debuggex - 它會根據你的輸入繪制正則表達式圖,你可以從那里快速共享到 StackOverflow。

  • RegExr – 你可以用這個來測試你的正則表達式。它還提供了參考、備忘單和示例來幫助你。

正則表達式備忘單
令牌定義
[ABC]任何單個字符 a、b 或 c
[^abc]除 a、b 或 c 之外的任何字符
[az]介于(包括)a 到 z 之間的字符
[^az]除 a 到 z 之外的字符
[AZ]介于(包括)A 到 Z 之間的字符
.任意單個字符
\s任何空白字符
\S任何非空白字符
\d任何數字 0 到 9
\D任何非數字
\w任何單詞字符(字母、數字和下劃線)
\W任何非單詞字符
(…)捕獲所有封閉的東西
(a|b)匹配 a 或 b
a?字符 a 要么不存在,要么出現一次
a*字符 a 要么不存在,要么出現多次
a+字符 a 出現一次或多次
{3}字符 a 連續出現 3 次
{3,}字符 a 連續出現 3 次或更多
{3,6}字符 a 連續出現 3 到 6 次
^字符串的開始
$字符串結束
\b一個詞的邊界。如果字符是單詞的最后一個或第一個單詞字符,或者如果字符介于單詞或非單詞字符之間
\B非詞邊界

看完了這篇文章,相信你對“Javascript中如何使用正則表達式”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济宁市| 扎兰屯市| 贡山| 杨浦区| 乐平市| 卢湾区| 右玉县| 延寿县| 临汾市| 尉犁县| 黔西县| 师宗县| 西平县| 沙田区| 平远县| 外汇| 夏河县| 漳州市| 石家庄市| 镇沅| 确山县| 那坡县| 石屏县| 玛曲县| 扎赉特旗| 黔南| 日喀则市| 化德县| 深州市| 新宁县| 资溪县| 辉南县| 花莲县| 宜丰县| 离岛区| 道孚县| 闸北区| 子长县| 肥乡县| 灵宝市| 恭城|