国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript與PHP中正則寫法

瀏覽:121日期:2022-09-12 13:20:00
一、JavaScript

有個在線調(diào)試正則的工具,點擊查看工具。下面的所有示例代碼,都可以在codepen上查看到。

1.創(chuàng)建正則表達(dá)式

var re = /ab+c/; //方式一 正則表達(dá)式字面量 var re = new RegExp('ab+c'); //方式二 RegExp對象的構(gòu)造函

1)正則表達(dá)式字面量在腳本加載后編譯。若你的正則表達(dá)式是常量,使用這種方式可以獲得更好的性能。

2)使用構(gòu)造函數(shù),提供了對正則表達(dá)式運行時的編譯。當(dāng)你知道正則表達(dá)式的模式會發(fā)生改變, 或者你事先并不了解它的模式或者是從其他地方(比如用戶的輸入),得到的代碼這時比較適合用構(gòu)造函數(shù)的方式。

2.正則表達(dá)式中的特殊字符

^ $ * + ? . (x) (?:x) x(?=y) x(?!y) x|y {n} {n,m} [xyz] [^xyz] [b] b B cX d D f n r s S t v w W n 0 xhh uhhhh

3.正則表達(dá)式中的方法

有6個,分別是exec、test、match、search、replace和split。

exec和test的語法都是regexObj調(diào)用,match、search、replace和split的語法都是string調(diào)用。

exec:

方法為指定的一段字符串執(zhí)行搜索匹配操作。它的返回值是一個數(shù)組或者 null。語法如下:

JavaScript與PHP中正則寫法

示例代碼:

var re = /quicks(brown).+?(jumps)/ig; var result = re.exec(’The Quick Brown Fox Jumps Over The Lazy Dog’);

返回結(jié)果:

JavaScript與PHP中正則寫法

test:

一個在字符串中測試是否匹配的RegExp方法,它返回true或false。語法如下:

JavaScript與PHP中正則寫法

match:

一個在字符串中執(zhí)行查找匹配的RegExp方法,它返回一個數(shù)組或者在未匹配到時返回null。

與exec略有不同,首先是調(diào)用方式,math是由字符串調(diào)用,而exec是由RegexObj調(diào)用。

其次,如果表達(dá)式中有“g”標(biāo)記,那么返回一個匹配的字符串?dāng)?shù)組,如果沒有就會和exec返回的一樣。下面這個demo就是有“g”。語法如下:

JavaScript與PHP中正則寫法

示例代碼:

var re = /quicks(brown).+?(jumps)/ig; var result = re.exec(’The Quick Brown Fox Jumps Over The Lazy Dog’);

返回結(jié)果:

JavaScript與PHP中正則寫法

search:

一個在字符串中測試匹配的String方法,它返回匹配到的位置索引,或者在失敗時返回-1。語法如下:

JavaScript與PHP中正則寫法

例如上面的示例代碼如果是調(diào)用search,返回數(shù)據(jù)就是4。

replace:

一個在字符串中執(zhí)行查找匹配的String方法,并且使用替換字符串替換掉匹配到的子字符串。語法如下:

JavaScript與PHP中正則寫法

返回 pattern 的匹配次數(shù)。 它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配后,將會停止搜索。

$subject = 'dd133aa2'; $pattern = ’/d+/’; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE); print_r($matches);

上面的示例代碼加了參數(shù)“PREG_OFFSET_CAPTURE”,這樣的話,在$matches中會多一個偏移數(shù)。例如下面的“2”

JavaScript與PHP中正則寫法

preg_match_all:

執(zhí)行一個“全局”正則表達(dá)式匹配

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 广元市| 象山县| 南华县| 颍上县| 宁强县| 滕州市| 龙海市| 新乐市| 德钦县| 准格尔旗| 海晏县| 镇原县| 汝城县| 突泉县| 武强县| 简阳市| 东阿县| 远安县| 昌平区| 桓台县| 佛山市| 香河县| 赞皇县| 兴业县| 义乌市| 杭州市| 天峻县| 平安县| 荣成市| 砀山县| 平南县| 湾仔区| 涞源县| 柯坪县| 延边| 镇巴县| 梨树县| 行唐县| 冷水江市| 旌德县| 新和县|