正则重温(学习笔记)
好久沒自己寫正則了,重新學習~~
1、創建正則表達式與修飾符
a) 創建正則表達式
var? re=new RegExp(“\\w+”)? 或 var? re=/\w+/
b)? RegExp的修飾符
i – 用來執行不區分大小寫的匹配
var? patt1=/route/i;
g – 用于執行全文的搜索(不是找到第一個就停止,而是找到所有的匹配)
var? patt1=/is/g;
m – 執行多行匹配
結合起來使用:
var patt1=/is/gi;
2、RegExp 對象方法
a) ? ?exec()
搜索字符串中的指定值,返回被指定的值,如果沒有發現匹配則返回null
var patt1=/e/;
patt1.exec(‘this is eggle’);?? 返回e
b) ? test()
搜索字符串指定的值,根據結果返回真或假
var patt1=/e/;
patt1.test(‘this is eggle’);?? 返回true
3、支持正則表達式的String 對象方法
1) ? ?search() 用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,如果沒有則返回-1,有就返回所在位置
語法:string.search(searchValue)
例: var str="Mr. Blue has a blue house";
str.search(/blue/i);?? 結果: 4
2) ? match() 用于在字符串中檢索指定的值,或找到一個或多個正則表達式的匹配,結果返回一個array,沒有匹配結果則返回null
語法: string.match(regexp)
Var? str=”The rain in SPAIN stays mainly in the plain"
Var n=Str.match(/ain/gi) 結果:n= ain,AIN,ain,ain
3) ? ?replace() 用于在字符串中用一些字符串替換另一些字符串,或替換與正則表達式匹配的子串
語法: string.replace(searchVal,newVal)
例: var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red"); 結果: Mr red has a red house and a red car
4) ? split() 用于把一個字符串分割成字符串數組,結果返回一個數組,被用來分割的不會顯示在返回的結果中
語法: string.split(separator,limit)(limit是指數組返回的最大長度)
例: var str='How are out you think ?'str.split(/o/gi,3); 結果: ["H", "w are ", "ut y"]
4、方括號
用于查找某個范圍內的字符
[abc]—查找方括號之間的任何字符串
[^abc] – 查找不在方括號之間的字符
[0-9] –查找任何0-9的數字
(red|blue|green) – 查找任何指定的選項
5、元字符
| 元字符 | 描述 |
| . | 查找單個字符,除了換行符和行結束符 |
| \w | 查找單詞字符 |
| \W | 查找非單詞字符 |
| \d | 查找數字 |
| \D | 查找非數字字符 |
| \s | 查找空白字符 |
| \S | 查找非空白字符 |
| \b | 匹配單詞邊界 |
| \B | 匹配非單詞邊界 |
| \0 | 查找null字符 |
| \n | 查找換行符 |
| \f | 查找換頁符 |
| \r | 查找回車符 |
| \t | 查找制表符 |
| \v | 查找垂直制表符 |
| \xxx | 查找以八進制數xxx 規定的字符 |
| \xdd | 查找以十六進制數dd規定的字符 |
| \uxxxx | 查找以十六進制數 xxxx 規定的 Unicode 字符。 |
6、量詞(被匹配的假定為n, /n/)
| 量詞 | 描述 |
| n+ | 匹配任何包含至少一個n 的字符串,例: /n+/ 匹配”mounth” |
| n* | 匹配任何包含0次、或1次、或多次n的字符串,例 /bo*/ 匹配”booooo”,匹配”bird”,但是不匹配”goooo” |
| n? | 匹配任何包含零個或一個n 的字符串,例: /e?le?/ 匹配”angel” |
| n{x} | 匹配包含x 個n的序列字符串,例/a{2}/ 匹配”caaady” 的前’aa’ |
| n{x,} | x是正整數,匹配n出現至少出現x次,例/a{2,}/ 匹配”caaady” 的’aaa’ |
| n{x,y} | x,y為正整數,n至少出現x次,至多出現y次,例/a{2,4}/ 匹配”caaaaa”的”aaaa” |
| n$ | 匹配n結尾的字符串 |
| ^n | 匹配開頭為n 的字符串 |
| ?=n | 匹配任何其后緊接指定字符串n的字符串 |
| ?!n | 匹配任何其后沒有緊接指定字符串n的字符串 |
轉載于:https://www.cnblogs.com/xcdl/p/7427688.html
總結
以上是生活随笔為你收集整理的正则重温(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 框架开发中的junit单元测试
- 下一篇: Linux设备驱动程序 第三版 读书笔记