校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > JavaScript RegExp 正則表達式對象詳細說明

JavaScript RegExp 正則表達式對象詳細說明

熱門標簽:地圖標注店鋪地圖標注酒店 遼寧秒客來電話機器人 哈爾濱公司外呼系統代理 自己做的電銷機器人 惠安地圖標注 浙江營銷外呼系統有哪些 上海銷售電銷機器人軟件 淄博市張店區地圖標注 山東外呼系統聯系方式
直接量語法

/pattern/attributes

創建 RegExp 對象的語法:
復制代碼 代碼如下:

var obj=new RegExp(pattern,attributes);

事例1:
復制代碼 代碼如下:

var pattern=/a/;
document.write(pattern.exec("asdas"));

事例2:
復制代碼 代碼如下:

var obj=new RegExp("a");
document.write(obj.exec("asdas"));


事例1和事例2的執行結果是相同的;
參數
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。

參數 attributes 是一個可選的字符串,包含屬性 "g"(執行全局匹配查找所有匹配而非在找到第一個匹配后停止。)、"i":執行對大小寫不敏感的匹配。 和 "m":執行多行匹配。,分別用于指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。

返回值
一個新的 RegExp 對象,具有指定的模式和標志。如果參數 pattern 是正則表達式而不是字符串,那么 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標志創建一個新的 RegExp 對象。

如果不用 new 運算符,而將 RegExp() 作為函數調用,那么它的行為與用 new 運算符調用時一樣,只是當pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。

拋出
SyntaxError - 如果 pattern 不是合法的正則表達式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,拋出該異常。

TypeError - 如果 pattern 是 RegExp 對象,但沒有省略 attributes 參數,拋出該異常。
RegExp 對象方法:
1、test():檢索字符串中指定的值。返回 true 或 false。
復制代碼 代碼如下:

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

2、exec():檢索字符串中指定的值。返回找到的值,并確定其位置。
復制代碼 代碼如下:
方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。

3、compile():既可以改變檢索模式,也可以添加或刪除第二個參數。
復制代碼 代碼如下:

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));

修飾符:

1、g:執行全局匹配查找所有匹配而非在找到第一個匹配后停止;
在使用 "g" 參數時,exec() 的工作原理如下:
找到第一個 "e",并存儲其位置
如果再次運行 exec(),則從存儲的位置開始檢索,并找到下一個 "e",并存儲其位置
復制代碼 代碼如下:

var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null)

RegExp 對象屬性
1:global:RegExp 對象是否具有標志 g。
2:ignoreCase:RegExp 對象是否具有標志 i。
3:lastIndex:一個整數,標示開始下一次匹配的字符起始位置。
4:multiline:RegExp 對象是否具有標志 m;
5:source:正則表達式的源文本。

復制代碼 代碼如下:

var obj=new RegExp(/s/);
document.write(obj.source);

支持正則表達式的 String 對象的方法
1:search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。
忽略大小寫事例:
復制代碼 代碼如下:

script type="text/javascript">
var str="Visit W3School!"
document.write(str.search(/w3school/i))
/script>

返回值

stringObject 中第一個與 regexp 相匹配的子串的起始位置。

注釋:如果沒有找到任何匹配的子串,則返回 -1。

說明

search() 方法不執行全局匹配,它將忽略標志 g。它同時忽略 regexp 的 lastIndex 屬性,并且總是從字符串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置。

 

2:match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

返回值

存放匹配結果的數組。該數組的內容依賴于 regexp 是否具有全局標志 g。

說明

match() 方法將檢索字符串 stringObject,以找到一個或多個與 regexp 匹配的文本。這個方法的行為在很大程度上有賴于 regexp 是否具有標志 g。

如果 regexp 沒有標志 g,那么 match() 方法就只能在 stringObject 中執行一次匹配。如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個數組,其中存放了與它找到的匹配文本有關的信息。該數組的第 0 個元素存放的是匹配文本,而其余的元素存放的是與正則表達式的子表達式匹配的文本。除了這些常規的數組元素之外,返回的數組還含有兩個對象屬性。index 屬性聲明的是匹配文本的起始字符在 stringObject 中的位置,input 屬性聲明的是對 stringObject 的引用。

如果 regexp 具有標志 g,則 match() 方法將執行全局檢索,找到 stringObject 中的所有匹配子字符串。若沒有找到任何匹配的子串,則返回 null。如果找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。

注意:在全局檢索模式下,match() 即不提供與子表達式匹配的文本的信息,也不聲明每個匹配子串的位置。如果您需要這些全局檢索的信息,可以使用 RegExp.exec()。

參數為字符串的事例:

復制代碼 代碼如下:

var str="Hello world!"
document.write(str.match("world") + "br />")

參數為正則表達式的事例:
復制代碼 代碼如下:

var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g))

3:replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

stringObject.replace(regexp/substr,replacement)
參數描述
regexp/substr

必需。規定子字符串或要替換的模式的 RegExp 對象。

請注意,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。

replacement必需。一個字符串值。規定了替換文本或生成替換文本的函數。

返回值

一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。

說明

字符串 stringObject 的 replace() 方法執行的是查找并替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然后用 replacement 來替換這些子串。如果 regexp 具有全局標志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。

replacement 可以是字符串,也可以是函數。如果它是字符串,那么每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用于替換。

字符替換文本
$1、$2、...、$99與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。
$與 regexp 相匹配的子串。
$`位于匹配子串左側的文本。
$'位于匹配子串右側的文本。
$$直接量符號。

注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 stringObject 中出現的位置。最后一個參數是 stringObject 本身。

字符串替換:
復制代碼 代碼如下:

var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "W3School"))

全局替換:
復制代碼 代碼如下:

var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."
document.write(str.replace(/Microsoft/g, "W3School"))

返回的結果:Welcome to W3School! We are proud to announce that W3Schoolhas one of the largest Web Developers sites in the world.使用正則表達式:
復制代碼 代碼如下:

name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");

使用函數:
復制代碼 代碼如下:

name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);

4:split() 方法用于把一個字符串分割成字符串數組。

語法

stringObject.split(separator,howmany)

參數描述
separator必需。字符串或正則表達式,從該參數指定的地方分割 stringObject。
howmany可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多于這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。

返回值


一個字符串數組。該數組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創建的。返回的數組中的字串不包括 separator 自身。


但是,如果 separator 是包含子表達式的正則表達式,那么返回的數組中包括與這些子表達式匹配的字串(但不包括與整個正則表達式匹配的文本)。




提示和注釋


注釋:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個字符之間都會被分割。


注釋:String.split() 執行的操作與 Array.join 執行的操作是相反的。



修飾符


修飾符描述
i執行對大小寫不敏感的匹配。
g執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
m執行多行匹配。



方括號


方括號用于查找某個范圍內的字符:


表達式描述
[abc]查找方括號之間的任何字符。
[^abc]查找任何不在方括號之間的字符。
[0-9]查找任何從 0 至 9 的數字。
[a-z]查找任何從小寫 a 到小寫 z 的字符。
[A-Z]查找任何從大寫 A 到大寫 Z 的字符。
[a-Z]查找任何從小寫 a 到大寫 Z 的字符。
[adgk]查找給定集合內的任何字符。
[^adgk]查找給定集合外的任何字符。
[red|blue|green]查找任何指定的選項。



元字符


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


元字符描述
.查找單個字符,除了換行和行結束符。
\w查找單詞字符。
\W查找非單詞字符。
\d查找數字。
\D查找非數字字符。
\s查找空白字符。
\S查找非空白字符。
\b查找位于單詞的開頭或結尾的匹配。
\B查找不處在單詞的開頭或結尾的匹配。
\0查找 NUL 字符。
\n查找換行符。
\f查找換頁符。
\r查找回車符。
\t查找制表符。
\v查找垂直制表符。
\xxx查找以八進制數 xxx 規定的字符。
\xdd查找以十六進制數 dd 規定的字符。
\uxxxx查找以十六進制數 xxxx 規定的 Unicode 字符。



量詞


量詞描述
n+匹配任何包含至少一個 n 的字符串。
n*匹配任何包含零個或多個 n 的字符串。
n?匹配任何包含零個或一個 n 的字符串。
n{X}匹配包含 X 個 n 的序列的字符串。
n{X,Y}匹配包含 X 或 Y 個 n 的序列的字符串。
n{X,}匹配包含至少 X 個 n 的序列的字符串。
n$匹配任何結尾為 n 的字符串。
^n匹配任何開頭為 n 的字符串。
?=n匹配任何其后緊接指定字符串 n 的字符串。
?!n匹配任何其后沒有緊接指定字符串 n 的字符串。
JavaScript RegExp 對象參考手冊
您可能感興趣的文章:
  • JS正則中的RegExp對象對象
  • javascript RegExp對象(正則表達式)
  • js正則表達式講解之index屬性(RegExp對象)
  • 詳解JavaScript正則表達式之RegExp對象
  • JavaScript 正則表達式之RegExp屬性、方法及應用分析
  • JS正則RegExp.test()使用注意事項(不具有重復性)
  • javascript RegExp 對象屬性與方法和應用
  • 注意 JavaScript 中 RegExp 對象的 test 方法
  • javascript類型系統_正則表達式RegExp類型詳解
  • JavaScript使用RegExp進行正則匹配的方法
  • JavaScript引用類型RegExp基本用法詳解

標簽:銅川 西安 重慶 宣城 無錫 長沙 泰州 綿陽

巨人網絡通訊聲明:本文標題《JavaScript RegExp 正則表達式對象詳細說明》,本文關鍵詞  JavaScript,RegExp,正則,表達式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JavaScript RegExp 正則表達式對象詳細說明》相關的同類信息!
  • 本頁收集關于JavaScript RegExp 正則表達式對象詳細說明的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美日韩国产一区| 91香蕉视频mp4| 天天影视涩香欲综合网| 亚洲亚洲人成综合网络| 亚洲免费观看高清完整版在线观看 | 国产成人av电影免费在线观看| 日韩成人精品在线观看| 日韩不卡免费视频| 另类成人小视频在线| 美女在线一区二区| 国产一区二区福利| 粉嫩在线一区二区三区视频| 粉嫩aⅴ一区二区三区四区五区| 成人午夜伦理影院| 91亚洲国产成人精品一区二区三| 不卡的av中国片| 91高清视频在线| 91精品婷婷国产综合久久性色 | 亚洲综合一二三区| 午夜欧美视频在线观看| 久久99蜜桃精品| 成人黄色免费短视频| 在线观看亚洲精品视频| 欧美区在线观看| 国产清纯在线一区二区www| 综合在线观看色| 视频一区二区中文字幕| 国产精品一级黄| 欧美日韩免费不卡视频一区二区三区| 欧美一区二区精品在线| 国产女主播视频一区二区| 亚洲精品免费一二三区| 美女www一区二区| 97久久精品人人澡人人爽| 欧美理论在线播放| 国产精品毛片久久久久久久| 亚洲成人动漫在线免费观看| 国产精品99久久久久久似苏梦涵| 91蝌蚪国产九色| 欧美成人aa大片| 夜色激情一区二区| 国产·精品毛片| 日韩一区二区电影| 夜夜嗨av一区二区三区中文字幕| 黄页网站大全一区二区| 欧美专区亚洲专区| 中文子幕无线码一区tr| 日韩国产欧美视频| 色综合咪咪久久| 亚洲国产高清在线观看视频| 日本不卡123| 色菇凉天天综合网| 国产精品天美传媒沈樵| 奇米精品一区二区三区在线观看一 | 美女视频一区二区| 91日韩一区二区三区| 国产日韩欧美精品一区| 蜜臀久久久99精品久久久久久| 色综合色综合色综合| 国产精品美女www爽爽爽| 国产高清精品在线| 欧美成人vps| 久久成人av少妇免费| 3atv在线一区二区三区| 亚洲国产精品视频| 欧美狂野另类xxxxoooo| 亚洲国产人成综合网站| 欧美日韩一级片在线观看| 一区二区三区中文字幕| eeuss鲁一区二区三区| 久久久久久9999| 国产99一区视频免费| 久久久亚洲欧洲日产国码αv| 麻豆精品在线播放| 久久久蜜臀国产一区二区| 精品一区在线看| 久久久无码精品亚洲日韩按摩| 国内精品伊人久久久久影院对白| 欧美tickling网站挠脚心| 奇米888四色在线精品| 欧美一区二区三区性视频| 伦理电影国产精品| 精品国产成人在线影院| 国产成人av一区二区三区在线观看| 欧美一区日韩一区| 国内偷窥港台综合视频在线播放| 26uuu另类欧美亚洲曰本| 国产成人精品aa毛片| 亚洲日本韩国一区| 欧美日韩日日摸| 日韩精品久久理论片| 26uuu色噜噜精品一区二区| 狠狠色狠狠色综合| 国产精品久久久一本精品| 色老综合老女人久久久| 首页亚洲欧美制服丝腿| 精品国产百合女同互慰| 不卡av在线免费观看| 亚洲成人在线免费| 欧美精品一区二区三区很污很色的| 国产成人在线影院| 亚洲制服丝袜av| 日韩一级欧美一级| 国产91丝袜在线观看| 亚洲一二三区在线观看| 久久久久久麻豆| 欧美在线观看禁18| 看国产成人h片视频| 国产精品高清亚洲| 日韩一区二区三区三四区视频在线观看 | 国产激情一区二区三区四区| 国产日本一区二区| 91在线免费视频观看| 日本一区中文字幕| 国产精品久久久久久久第一福利| 欧美日本一区二区| hitomi一区二区三区精品| 蜜桃精品视频在线观看| 亚洲欧美激情一区二区| 久久婷婷色综合| 日本韩国欧美在线| 国产成人免费视频精品含羞草妖精| 亚洲成人精品一区| 亚洲色图都市小说| 久久九九久久九九| 91精品国产色综合久久| 色噜噜久久综合| 国产白丝精品91爽爽久久| 久久精品久久久精品美女| 亚洲一区二区av电影| 国产精品九色蝌蚪自拍| 国产欧美日韩综合精品一区二区| 51精品久久久久久久蜜臀| 欧美综合色免费| 色综合久久88色综合天天6| 国产激情一区二区三区桃花岛亚洲| 奇米色一区二区三区四区| 亚洲第一在线综合网站| 一区二区在线看| 亚洲素人一区二区| 国产精品少妇自拍| 国产丝袜美腿一区二区三区| 欧美电影免费观看高清完整版在| 6080yy午夜一二三区久久| 欧美色手机在线观看| 91黄色在线观看| 色先锋aa成人| 欧美视频在线不卡| 欧美亚洲禁片免费| 欧美日韩在线三级| 欧洲精品中文字幕| 欧美最新大片在线看| 欧美三级乱人伦电影| 欧美三级韩国三级日本一级| 欧美视频一区二区三区在线观看| 91福利在线播放| 欧美性色黄大片| 91精品国产一区二区三区 | 福利电影一区二区| 成人av电影在线播放| 99久久er热在这里只有精品15| 国产69精品久久777的优势| 成人黄色大片在线观看| 91色视频在线| 精品污污网站免费看| 日韩一级片在线观看| www一区二区| 久久综合九色综合欧美98| 国产精品亲子乱子伦xxxx裸| 亚洲精品免费看| 日本不卡一二三区黄网| 国产精品一区二区久激情瑜伽| 波多野结衣亚洲| 欧美亚洲一区二区三区四区| 欧美精品aⅴ在线视频| 久久日一线二线三线suv| 国产欧美一区二区三区在线老狼 | 亚洲一区免费观看| 久久精品国产99国产精品| 国产成人av一区二区| 在线观看视频一区二区欧美日韩| 欧美丰满一区二区免费视频| 亚洲精品一区二区三区蜜桃下载 | 欧美一区二区三区白人| www亚洲一区| 亚洲国产欧美在线| 国产一区二区三区日韩| eeuss鲁一区二区三区| 91精品欧美综合在线观看最新| 精品国内二区三区| 亚洲欧美色图小说| 国产一区二区三区四区五区入口| 欧洲另类一二三四区| 久久亚区不卡日本| 午夜电影网一区| av不卡一区二区三区| 日韩欧美另类在线| 亚洲成av人片一区二区梦乃| 高清国产一区二区| 欧美成人一区二区三区在线观看 |