最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

鴻蒙harmonyOS正則表達(dá)式使用筆記

 更新時(shí)間:2026年06月24日 10:49:23   作者:一只小風(fēng)華~  
在鴻蒙開(kāi)發(fā)中正則表達(dá)式是用于處理文本的強(qiáng)大工具,它提供了一種靈活且高效的方式來(lái)匹配、查找、替換和驗(yàn)證字符串中的特定模式,這篇文章主要介紹了鴻蒙harmonyOS正則表達(dá)式使用的相關(guān)資料,需要的朋友可以參考下

前言

從給出的文本中,按照既定的相關(guān)規(guī)則,匹配出符合的數(shù)據(jù),其中的規(guī)則就是正則表達(dá)式,使用正則表達(dá)式,可以使得我們用簡(jiǎn)潔的代碼就能實(shí)現(xiàn)一定復(fù)雜的邏輯,比如判斷一個(gè)郵箱賬號(hào)是否符合正常的郵箱賬號(hào),再比如判斷一個(gè)手機(jī)號(hào)是否正常的手機(jī)號(hào),等等,正因?yàn)橛辛苏齽t,得以讓文本處理起來(lái)更加的簡(jiǎn)單。

日常開(kāi)發(fā)中主要用來(lái)做三件事:匹配、替換、提取。

  • 手機(jī)號(hào)表單要求用戶(hù)只能輸入11位的數(shù)字 (匹配)
  • 過(guò)濾掉頁(yè)面內(nèi)容中的一些敏感詞(替換)
  • 從字符串中獲取我們想要的特定部分(提取)等

基本使用 

基礎(chǔ)步驟;

  • 定義正則
  • 使用正則
  • 定義正則
// 方式 1:簡(jiǎn)寫(xiě)
const res1: RegExp = /ArkTS/

// 方式 2:通過(guò)實(shí)例化的方式創(chuàng)建
const reg2: RegExp = new RegExp('ArkTS')

 1. 使用正則

  • test()方法 用來(lái)查看正則表達(dá)式與指定的字符串是否匹配
  • 如果正則表達(dá)式與指定的字符串匹配 ,返回true,否則false
console.log('web:', res.test('ArkTS')) // true
console.log('web:', res.test('Java')) // false

元字符

元字符指的是在正則表達(dá)式中,有特殊含義的符號(hào)

正則表達(dá)式中絕大多數(shù)的字符都是描述他們本身,比如:

/ArkTS/ // 表示 ArkTS 這 5 個(gè)字母

 有一些具有特殊含義的字符,可以極大的提高正則表達(dá)式的靈活性和功能,比如:

/[a-z]/ // 只能是 a-z中的字母

像上面的 [ ] , 就是元字符,接下來(lái)咱們來(lái)看看有哪些常用的元字符

邊界符

則表達(dá)式中的邊界符(位置符)用來(lái)提示字符所處的位置,主要有兩個(gè)字符

邊界符說(shuō)明
Λ表示匹配行首的文本(以誰(shuí)開(kāi)始)
$表示匹配行尾的文本(以誰(shuí)結(jié)束)

如果 ^ 和 $ 在一起,表示必須是精確匹配

// 元字符之邊界符
// 1. 匹配開(kāi)頭的位置 ^
const reg = /^ArkTS/
console.log('res:', reg.test('ArkTS語(yǔ)法')) //true
console.log('res:', reg.test('學(xué)習(xí)ArkTS')) //false
console.log('res:', reg.test('學(xué)習(xí)ArkTS語(yǔ)法')) //false
console.log('res:', reg.test('Ar')) //false

// 2. 匹配結(jié)束的位置 $
const reg1 = /ArkTS$/
console.log('res:', reg1.test('ArkTS語(yǔ)法')) //false
console.log('res:', reg1.test('學(xué)習(xí)ArkTS')) //true
console.log('res:', reg1.test('學(xué)習(xí)ArkTS語(yǔ)法')) //false
console.log('res:', reg1.test('Ar')) //false

// 3. 精確匹配 ^ $
const reg2 = /^ArkTS$/
console.log('res:', reg2.test('ArkTS語(yǔ)法')) //false
console.log('res:', reg2.test('學(xué)習(xí)ArkTS')) //false
console.log('res:', reg2.test('學(xué)習(xí)ArkTS語(yǔ)法')) //false
console.log('res:', reg2.test('ArkTS')) //true
console.log('res:', reg2.test('Ar')) //false
console.log('res:', reg2.test('ArkTSArkTS')) //false

量詞

量詞用來(lái)設(shè)定某個(gè)模式的重復(fù)次數(shù)。

量詞說(shuō)明
*重復(fù)零次或更多次
+重復(fù)一次或更多次
?重復(fù)零次或一次
{n}重復(fù) n 次
{n,}重復(fù) n 次或更多次
{n,m}重復(fù) n 到 m 次

基于基礎(chǔ)模版來(lái)看看具體的效果:

// 元字符之量詞
// 1. * 重復(fù)次數(shù) >= 0 次
const reg1 = /^w*$/
console.log('res:', reg1.test('')) //true
console.log('res:', reg1.test('w')) //true
console.log('res:', reg1.test('ww')) //true
console.log('res:', '-----------------------')

// 2. + 重復(fù)次數(shù) >= 1 次
const reg2 = /^w+$/
console.log('res:', reg2.test('')) //false
console.log('res:', reg2.test('w')) //true
console.log('res:', reg2.test('ww')) //true
console.log('res:', '-----------------------')

// 3. ? 重復(fù)次數(shù) 0 || 1
const reg3 = /^w?$/
console.log('res:', reg3.test('')) //true
console.log('res:', reg3.test('w')) //true
console.log('res:', reg3.test('ww')) //false
console.log('res:', '-----------------------')

// 4. {n} 重復(fù) n 次
const reg4 = /^w{3}$/
console.log('res:', reg4.test('')) // false
console.log('res:', reg4.test('w')) // false
console.log('res:', reg4.test('ww')) // false
console.log('res:', reg4.test('www')) //true
console.log('res:', reg4.test('wwww')) // false
console.log('res:', '-----------------------')

// 5. {n,} 重復(fù)次數(shù) >= n
const reg5 = /^w{2,}$/
console.log('res:', reg5.test('')) //false
console.log('res:', reg5.test('w')) //false
console.log('res:', reg5.test('ww')) //true
console.log('res:', reg5.test('www')) //true
console.log('res:', '-----------------------')

// 6. {n,m} n =< 重復(fù)次數(shù) <= m
const reg6 = /^w{2,4}$/
console.log('res:', reg6.test('w')) //false
console.log('res:', reg6.test('ww')) //true
console.log('res:', reg6.test('www')) //true
console.log('res:', reg6.test('wwww')) //true
console.log('res:', reg6.test('wwwww')) //false

范圍

表示字符的范圍,定義的規(guī)則限定在某個(gè)范圍,比如只能是英文字母,或者數(shù)字等等,用表示范圍。

范圍說(shuō)明
[abc]匹配包含的單個(gè)字符。也就是只有all bllc 這三個(gè)單字符返回true,可以理解為多選1
[a-z]連字符。來(lái)指定字符范圍。[ a-z ]表示 a到226個(gè)英文字母
[^abc]取反符。[^a-z]匹配除了小寫(xiě)字母以外的字符
// 元字符之范圍 []

// 1. [abc] 匹配包含的單個(gè)字符, 多選1
const reg1 = /^[abc]$/
console.log('res:', reg1.test('a')) //true
console.log('res:', reg1.test('b')) //true
console.log('res:', reg1.test('c')) //true
console.log('res:', reg1.test('d')) //false
console.log('res:', reg1.test('ab')) //false
console.log('-----------');

// 2. [a-z] 連字符 單個(gè)
const reg2 = /^[a-z]$/
console.log('res:', reg2.test('a')) //true
console.log('res:', reg2.test('p')) //true
console.log('res:', reg2.test('0')) //false
console.log('res:', reg2.test('A')) //false
console.log('-----------');

// 3. [^a-z] 取反符
const reg5 = /^[^a-z]$/
console.log('res:', reg5.test('a')) //false
console.log('res:', reg5.test('A')) //true
console.log('res:', reg5.test('么')) //true
console.log('-----------');

// 4.想要包含小寫(xiě)字母,大寫(xiě)字母 ,數(shù)字
const reg3 = /^[a-zA-Z0-9]$/
console.log('res:', reg3.test('B')) //true
console.log('res:', reg3.test('b')) //true
console.log('res:', reg3.test('9')) //true
console.log('res:', reg3.test(',')) //false
console.log('-----------');

字符類(lèi)

某些常見(jiàn)模式的簡(jiǎn)寫(xiě)方式,區(qū)分字母和數(shù)字

字符類(lèi)說(shuō)明
\d匹配0-9之間的任一數(shù)字,相當(dāng)于[0-9]
\D匹配所有0-9以外的字符,相當(dāng)于[^0-9]
\w匹配任意的字母、數(shù)字和下劃線,相當(dāng)于[A-Za-z0-9_]
\W除所有字母、數(shù)字和下劃線以外的字符,相當(dāng)于[^A-Za-z0-9_]
\s匹配空格(包括換行符、制表符、空格符等),相等于[\t\r\n\v\f]
\S匹配非空格的字符,相當(dāng)于[^\t\r\n\v\f]

替換和修飾符 

字符串的 replace 方法,可以結(jié)合正則進(jìn)行字符串的替換。

// 檢索規(guī)則:文本、正則
// 替換內(nèi)容:文本
// 返回值:替換之后的結(jié)果

字符串.replace(檢索規(guī)則,替換內(nèi)容)

// 替換和修飾符

const str = '歡迎大家學(xué)習(xí)ArkTS,相信大家一定能學(xué)好ArkTS!!!'

// 將 ArkTS 替換位 鴻蒙開(kāi)發(fā)咋寫(xiě)? 分別用正則和字符串作為檢索規(guī)則

使用正則結(jié)合修飾符可以實(shí)現(xiàn)大小寫(xiě)區(qū)分,是否匹配所有

修飾符說(shuō)明
i單詞 ignore 的縮寫(xiě),正則匹配時(shí)字母不區(qū)分大小寫(xiě)
g單詞 global 的縮寫(xiě),匹配所有滿足正則表達(dá)式的結(jié)果
// 替換和修飾符
const str = '歡迎大家學(xué)習(xí)ArkTS,相信大家一定能學(xué)好ArkTS!!!'
// replace 返回值是替換完畢的字符串
console.log(str.replace(/arkts/, '鴻蒙開(kāi)發(fā)'))
//歡迎大家學(xué)習(xí)ArkTS,相信大家一定能學(xué)好ArkTS!!!

console.log(str.replace(/arkts/i, '鴻蒙開(kāi)發(fā)')) 
//歡迎大家學(xué)習(xí)鴻蒙開(kāi)發(fā),相信大家一定能學(xué)好ArkTS!!!

console.log(str.replace(/arkts/gi, '鴻蒙開(kāi)發(fā)')) 
//歡迎大家學(xué)習(xí)鴻蒙開(kāi)發(fā),相信大家一定能學(xué)好鴻蒙開(kāi)發(fā)!!!

console.log(str.replace(/arkts/ig, '鴻蒙開(kāi)發(fā)')) 
//歡迎大家學(xué)習(xí)鴻蒙開(kāi)發(fā),相信大家一定能學(xué)好鴻蒙開(kāi)發(fā)!!!

總結(jié) 

到此這篇關(guān)于鴻蒙harmonyOS正則表達(dá)式使用的文章就介紹到這了,更多相關(guān)harmonyOS正則表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 正則表達(dá)式中的$分組使用示例詳解

    正則表達(dá)式中的$分組使用示例詳解

    正則表達(dá)式中的$符號(hào)通常用于表示字符串的結(jié)束位置,但當(dāng)你在替換操作或者某些特殊上下文中提到 $ 后跟數(shù)字(如 $1, $2, etc.),這并不表示結(jié)束位置,而是引用之前正則表達(dá)式捕獲組的內(nèi)容,這篇文章主要介紹了正則表達(dá)式中的$分組使用示例詳解,需要的朋友可以參考下
    2024-05-05
  • JS正則表達(dá)式基本用法(經(jīng)典全)

    JS正則表達(dá)式基本用法(經(jīng)典全)

    本篇是由腳本之家小編抽時(shí)間整理些關(guān)于js的正則表達(dá)式,內(nèi)容非常詳細(xì),感興趣的朋友可以參考下
    2015-09-09
  • JavaScript中正則表達(dá)式的概念與應(yīng)用

    JavaScript中正則表達(dá)式的概念與應(yīng)用

    這篇文章主要介紹了JavaScript中正則表達(dá)式的概念與應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • 詳解Linux中正則表達(dá)式的應(yīng)用

    詳解Linux中正則表達(dá)式的應(yīng)用

    正則表達(dá)式是一種符號(hào)表示法,被用來(lái)識(shí)別文本模式。在某種程度上,它們與匹配文件和路徑名的shell通配符比較相似,但其規(guī)模更大。許多命令行工具和大多數(shù)編程語(yǔ)言都支持正則表達(dá)式,以此來(lái)幫助解決操作文本的問(wèn)題。
    2018-05-05
  • 一看就懂的正則表達(dá)式教程

    一看就懂的正則表達(dá)式教程

    正則表達(dá)式,是簡(jiǎn)單地字符的序列,可指定特定的搜索模式,下面這篇文章主要給大家介紹了一看就懂正則表達(dá)式的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 正則表達(dá)式下全部符號(hào)解釋說(shuō)明

    正則表達(dá)式下全部符號(hào)解釋說(shuō)明

    正則表達(dá)式下全部符號(hào),對(duì)于書(shū)寫(xiě)正則表達(dá)式的朋友一定要了解下,才能更好的發(fā)揮正則的作用于閱讀別人的代碼,先從基本來(lái)。
    2010-07-07
  • 如何快速學(xué)習(xí)正則表達(dá)式

    如何快速學(xué)習(xí)正則表達(dá)式

    在日常工作中,我們經(jīng)常寫(xiě)正則表達(dá)式,比如在表單中經(jīng)常用來(lái)驗(yàn)證用戶(hù)輸入的格式是否正確。接下來(lái)通過(guò)本文給大家介紹如何快速學(xué)習(xí)正則表達(dá)式,感興趣的小伙伴一起學(xué)習(xí)吧
    2016-05-05
  • Js&Vbs正則表達(dá)式替換重復(fù)的字符

    Js&Vbs正則表達(dá)式替換重復(fù)的字符

    Js&Vbs正則表達(dá)式替換重復(fù)的字符...
    2006-12-12
  • JS 正則表達(dá)式判斷各個(gè)瀏覽器代碼詳解

    JS 正則表達(dá)式判斷各個(gè)瀏覽器代碼詳解

    學(xué)習(xí)了3天的正則了。也算幾掌握了點(diǎn)基本功。所以把原來(lái)一直用別人的判斷瀏覽器方法自己來(lái)寫(xiě)了個(gè)。
    2010-05-05
  • 關(guān)于表格的正則表達(dá)式討論(表格)

    關(guān)于表格的正則表達(dá)式討論(表格)

    [藍(lán)色]關(guān)于表格的正則表達(dá)式討論(表格)...
    2006-08-08

最新評(píng)論

大港区| 开鲁县| 繁昌县| 三明市| 泰和县| 海安县| 台中县| 仲巴县| 庆安县| 大城县| 天长市| 南安市| 德州市| 祁连县| 长岛县| 余干县| 得荣县| 陆川县| 临泽县| 泌阳县| 峨边| 洱源县| 奎屯市| 蒙山县| 山阴县| 阿图什市| 舟山市| 辽中县| 美姑县| 贵州省| 荃湾区| 灵石县| 南安市| 年辖:市辖区| 菏泽市| 留坝县| 通山县| 天全县| 鄯善县| 禄丰县| 株洲市|