摘要:下面我們來介紹一下什么是正則表達式定義正則也叫規(guī)則,是讓計算機能夠讀懂人類的規(guī)則,正則都是操作字符串的,正則是一個強大的字符串匹配工具。
傳統(tǒng)字符串的方法
1.indexOf ——查找對應(yīng)字符的位置
2.SubString——用來截取字符串
3.charAt——在字符串中根據(jù)下標去找對應(yīng)的字符
4.Split ——將字符串通過分割符轉(zhuǎn)成數(shù)組
var str = "abc123def45ghijk67lmnxyd89"; // 得到所有的數(shù)字 并將相連的數(shù)字進行相連存儲 如 ["123","45","67","89"] var arr = []; // 建立一個臨時變量 用來拼接連續(xù)的數(shù)字字符串 var temp = ""; for(var i = 0; i < str.length; i++) { if(str.charAt(i)>="0"&&str.charAt(i)<=9) { // 進來之后肯定是數(shù)字 temp += str[i]; } else { if (temp) { arr.push(temp); // 清空這個臨時變量 以便于下一次重新裝載 連續(xù)的數(shù)字 temp = ""; } } } // 防止 最后一些字符 是數(shù)字 不進else 就拼不進去了 所以這個在最后要判斷如果temp里面還有 則在推進去一次 if (temp) { arr.push(temp); temp = ""; } console.log(arr);
上面的方法是傳統(tǒng)的查找字符串的方法,我們會感覺的很麻煩,下面我們用正則表達式試試:
var str = "abc123def45ghijk67lmnxyd89"; console.log(str.match(/d+/g));
用正則表達式以后會覺得這樣是簡單了很多,提高我們的開發(fā)效率。
下面我們來介紹一下什么是正則表達式定義:正則:也叫規(guī)則,是讓計算機能夠讀懂人類的規(guī)則,正則都是操作字符串的,正則是一個強大的字符串匹配工具。
c) 正則:正則表達式Regular Expression var str var arr var re regexp
正則一個js中全局內(nèi)置對象 (var mydate = new Date()) php (正則)
正則是一個工具
簡單聲明方式: var re = /abc/;
構(gòu)造函數(shù)聲明方式 var re = new RegExp(‘a(chǎn)bc’);
下面是一些正則表達式的常用匹配方法 一、Test():用正則去匹配的方法1.返回值: 如果匹配成功 則返回true 否則匹配不成功 返回fals
2.寫法: re.test(str); 用re去匹配str
.(點)——任意字符 如果就想只匹配.(點) 加轉(zhuǎn)義字符 還原它本來的意思.
d、D 匹配數(shù)字 / 非數(shù)字
w、W 匹配字符/非字符 (字符:字母數(shù)字下劃線 不包含空格)
s 、S 空格/ 非空格
b 、B 匹配獨立部分/ 非獨立部分
二、Search() 用正則進行匹配的方法1.返回值: 如果匹配成功 則返回對應(yīng)匹配的位置 否則匹配不成功返回-1
2.寫法:str.search(re)
注意:正則中嚴格區(qū)分大小寫 如果你想忽略大小寫,忽略大小寫(ignore簡寫)
1.返回值:如果匹配成功 則返回一個數(shù)組,會把匹配到字符保存到數(shù)組中
2.寫法:str.match(re)
注意: 正則匹配:如果匹配成功 則不往后匹配了,g 全局匹配模式
var str = "abbbcdeBdbBzzsB"; // ["bbb","B","bB","B"] var re = /B+/ig; // new RegExp(‘B+’,’ig’); console.log(str.match(re));
上面的i和g都是放置在第二斜杠后面
四、 Replace()返回值:用正則去匹配字符串 ,將匹配到的字符進行替換 替換成新的字符
寫法一: str.replace(re,新字符); 寫法二: str.replace(re,function($0){
Console.log($0)
})
小案例:
將字符串("我的生活,我的愛人,我的世界")中的"我的"替換成"my"
var str="我的生活,我的愛人,我的世界"; document.write(str.replace(/"我的"/,"my"))//只替換了第一個后面的都沒有被替換 document.write(str.replace(/"我的"/g,"my"))//全部的我的都替換成了my以上便是我對正則表達式的一些小總結(jié)!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90399.html
摘要:忍者級別的函數(shù)操作對于什么是匿名函數(shù),這里就不做過多介紹了。我們需要知道的是,對于而言,匿名函數(shù)是一個很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機制,如果...
摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...
摘要:函數(shù)式編程前端掘金引言面向?qū)ο缶幊桃恢币詠矶际侵械闹鲗?dǎo)范式。函數(shù)式編程是一種強調(diào)減少對程序外部狀態(tài)產(chǎn)生改變的方式。 JavaScript 函數(shù)式編程 - 前端 - 掘金引言 面向?qū)ο缶幊桃恢币詠矶际荍avaScript中的主導(dǎo)范式。JavaScript作為一門多范式編程語言,然而,近幾年,函數(shù)式編程越來越多得受到開發(fā)者的青睞。函數(shù)式編程是一種強調(diào)減少對程序外部狀態(tài)產(chǎn)生改變的方式。因此,...
摘要:大多數(shù)待遇豐厚的開發(fā)職位都要求開發(fā)者精通多線程技術(shù)并且有豐富的程序開發(fā)調(diào)試優(yōu)化經(jīng)驗,所以線程相關(guān)的問題在面試中經(jīng)常會被提到。將對象編碼為字節(jié)流稱之為序列化,反之將字節(jié)流重建成對象稱之為反序列化。 JVM 內(nèi)存溢出實例 - 實戰(zhàn) JVM(二) 介紹 JVM 內(nèi)存溢出產(chǎn)生情況分析 Java - 注解詳解 詳細介紹 Java 注解的使用,有利于學(xué)習(xí)編譯時注解 Java 程序員快速上手 Kot...
閱讀 2570·2021-09-02 15:40
閱讀 1575·2019-08-30 15:54
閱讀 1088·2019-08-30 12:48
閱讀 3409·2019-08-29 17:23
閱讀 1056·2019-08-28 18:04
閱讀 3673·2019-08-26 13:54
閱讀 614·2019-08-26 11:40
閱讀 2404·2019-08-26 10:15