欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入淺出正則表達(dá)式中的邊界\b和\B

 更新時(shí)間:2021年10月14日 14:47:19   作者:皮蛋很白  
對于正則表達(dá)式的中\(zhòng)B和\b 有些地方會出現(xiàn)弄不懂的情況,所以查找資料學(xué)習(xí)了一番,下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式中邊界\b和\B的相關(guān)資料,需要的朋友可以參考下

正則表達(dá)式中:

  • \b 表示單詞邊界
  • \B 表示非單詞邊界,應(yīng)理解為(非單詞)邊界,而不是非(單詞邊界),它仍然匹配的是邊界

邊界

我將正則中的位置分為 字符的占位 和 字符的間隙。

字符的占位是顯式的位置。

以 I'm iron man 為例。

肉眼可見的字母 符號 空格都是可以占位的字符,也就是可以用下標(biāo)獲取到字符的位置。

字符的間隙是隱式的位置。

即顯示位置之間的位置,比如I和'之間的位置,字符串開頭和I之間的位置等。

邊界 指的是占位的字符左右的間隙位置。

單詞

正則中所說的單詞指的是 \w 可以匹配的字符,即數(shù)字、大小寫字母以及下劃線 [0-9a-zA-Z_]

\b 單詞邊界

單詞邊界匹配的就是這樣的間隙位置:

左邊占位的字符或右邊占位的字符,至少有一個(gè)不是 \w

// 只有首尾位置匹配
console.log('0aZ_'.replace(/\b/g, '.')) // .0aZ_.

// +不是\w,所以它的左右間隙都可以被匹配
console.log('a+a'.replace(/\b/g, '.')) // .a.+.a.

// 空格也不是\w,所以它的左右間隙都可以被匹配
console.log('a a'.replace(/\b/g, '.')) // .a. .a.

\B 非單詞邊界

理解了 \b,\B就好理解了。

它匹配的也是 邊界 ,針對的是 與 \b 相反 的 非單詞(\W)。

也就是,左右占位的字符,都必須是 \w。

或者說 所有不能被\b匹配的 邊界。

console.log('0aZ_'.replace(/\B/g, '.')) // 0.a.Z._

console.log('a+a'.replace(/\B/g, '.')) // a+a.

console.log('a a'.replace(/\B/g, '.')) // a a

舉列

1.單詞邊界

var str = ' 2 ';//其中空格與2之間的位置叫做單詞邊界,匹配\b

2.非單詞邊界

var str = ",,,,,和呵呵,,,,,";
var reg = '\B呵\B';//reg匹配中間的呵,其兩側(cè)都是字符,中間的位置為非單詞邊界。

3.統(tǒng)計(jì)以“,”分割的元素中“3”的個(gè)數(shù)

var test = "137,1,33,4,3,6,21,3,35,93,2,98"; 
var count = test.match(test, "\b3\b").length; //結(jié)果:2

4.千分位分割數(shù)字,將輸出成7,654,321這樣的格式

'7654321'.replace(/\B(?=(\d{3})+(?!\d))/g,',')
//7,654,321(匹配末尾是非數(shù)字,中間是連續(xù)3位數(shù)字整倍數(shù)的非單詞邊界)

'99893'.replace(/\B(?=(\d{3})+$)/g, ',')
// '99,893'

5.手機(jī)號344分割

'12345678901'.replace(/\B(?=(?:\d{4})+$)/g, '-')
// '123-4567-8901'

總結(jié)

到此這篇關(guān)于正則表達(dá)式中邊界\b和\B的文章就介紹到這了,更多相關(guān)正則表達(dá)式邊界\b和\B內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • asp.net(c#) 使用Rex正則來生成字符串?dāng)?shù)組的代碼

    asp.net(c#) 使用Rex正則來生成字符串?dāng)?shù)組的代碼

    我們在項(xiàng)目中,經(jīng)常要使用正則表達(dá)式,現(xiàn)在有一個(gè)工具可以按正則表達(dá)式生成數(shù)據(jù).正則表達(dá)式的語法忘記了嗎?
    2010-05-05
  • 正則表達(dá)式之全部符號對照表

    正則表達(dá)式之全部符號對照表

    下面一騙整理的比較詳細(xì)的函數(shù)對照表,放到大家在書寫正則的時(shí)候參考下
    2008-09-09
  • idea 正則表達(dá)式搜索替換應(yīng)用詳解

    idea 正則表達(dá)式搜索替換應(yīng)用詳解

    這篇文章主要介紹了idea 正則表達(dá)式搜索替換應(yīng)用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • 深入淺出解析正則表達(dá)式-替換原則

    深入淺出解析正則表達(dá)式-替換原則

    本文給大家分享的正則表達(dá)式的替換原則,這里講到的替換是只能在替換模式中識別的語言元素。感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2015-09-09
  • 正則表達(dá)式RegExp語法與用法詳解

    正則表達(dá)式RegExp語法與用法詳解

    正則表達(dá)式是一個(gè)描述字符模式的對象,當(dāng)檢索某個(gè)文本時(shí),可以使用一種模式來描述要檢索的內(nèi)容,RegExp就是這種模式,下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式RegExp語法與用法的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • JavaScript正則表達(dá)式校驗(yàn)非零的負(fù)整數(shù)實(shí)例

    JavaScript正則表達(dá)式校驗(yàn)非零的負(fù)整數(shù)實(shí)例

    本文分享了JavaScript正則表達(dá)式(^-[1-9]\d*$)校驗(yàn)非零的負(fù)整數(shù)實(shí)例代碼,代碼簡單易懂,需要的朋友可以看下
    2016-12-12
  • 精確查找PHP WEBSHELL木馬 修正版

    精確查找PHP WEBSHELL木馬 修正版

    上篇提到了關(guān)于網(wǎng)上流傳查找PHP webshell的python腳本中,不嚴(yán)謹(jǐn)?shù)拇a,并且給出了一個(gè)python的檢測代碼,同時(shí),下文里也提到不能檢測到反引號的命令執(zhí)行的地方。今天,我想了下,現(xiàn)在把思路發(fā)出來。
    2011-04-04
  • js正則學(xué)習(xí)小記之匹配字符串字面量

    js正則學(xué)習(xí)小記之匹配字符串字面量

    關(guān)于匹配字符串問題,有很多種類型,今天討論 js 代碼里的字符串匹配,因?yàn)槲蚁雽W(xué)完之后寫個(gè)語法高亮練手,所以用js代碼當(dāng)作例子
    2020-04-04
  • 最新密碼驗(yàn)證正則表達(dá)式

    最新密碼驗(yàn)證正則表達(dá)式

    這篇文章主要為大家分享了最新密碼驗(yàn)證正則表達(dá)式,密碼形式可以根據(jù)開發(fā)需求進(jìn)行設(shè)定,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • pjblog的ubbcodeasp文件

    pjblog的ubbcodeasp文件

    pjblog的ubbcodeasp文件...
    2006-08-08

最新評論