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

鴻蒙harmonyOS正則表達式使用筆記

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

前言

從給出的文本中,按照既定的相關規(guī)則,匹配出符合的數(shù)據(jù),其中的規(guī)則就是正則表達式,使用正則表達式,可以使得我們用簡潔的代碼就能實現(xiàn)一定復雜的邏輯,比如判斷一個郵箱賬號是否符合正常的郵箱賬號,再比如判斷一個手機號是否正常的手機號,等等,正因為有了正則,得以讓文本處理起來更加的簡單。

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

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

基本使用 

基礎步驟;

  • 定義正則
  • 使用正則
  • 定義正則
// 方式 1:簡寫
const res1: RegExp = /ArkTS/

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

 1. 使用正則

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

元字符

元字符指的是在正則表達式中,有特殊含義的符號

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

/ArkTS/ // 表示 ArkTS 這 5 個字母

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

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

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

邊界符

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

邊界符說明
Λ表示匹配行首的文本(以誰開始)
$表示匹配行尾的文本(以誰結束)

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

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

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

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

量詞

量詞用來設定某個模式的重復次數(shù)。

量詞說明
*重復零次或更多次
+重復一次或更多次
?重復零次或一次
{n}重復 n 次
{n,}重復 n 次或更多次
{n,m}重復 n 到 m 次

基于基礎模版來看看具體的效果:

// 元字符之量詞
// 1. * 重復次數(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. + 重復次數(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. ? 重復次數(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} 重復 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,} 重復次數(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 =< 重復次數(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ī)則限定在某個范圍,比如只能是英文字母,或者數(shù)字等等,用表示范圍。

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

// 1. [abc] 匹配包含的單個字符, 多選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] 連字符 單個
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.想要包含小寫字母,大寫字母 ,數(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('-----------');

字符類

某些常見模式的簡寫方式,區(qū)分字母和數(shù)字

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

替換和修飾符 

字符串的 replace 方法,可以結合正則進行字符串的替換。

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

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

// 替換和修飾符

const str = '歡迎大家學習ArkTS,相信大家一定能學好ArkTS!!!'

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

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

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

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

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

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

總結 

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

相關文章

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

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

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

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

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

    JavaScript中正則表達式的概念與應用

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

    詳解Linux中正則表達式的應用

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

    一看就懂的正則表達式教程

    正則表達式,是簡單地字符的序列,可指定特定的搜索模式,下面這篇文章主要給大家介紹了一看就懂正則表達式的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • 正則表達式下全部符號解釋說明

    正則表達式下全部符號解釋說明

    正則表達式下全部符號,對于書寫正則表達式的朋友一定要了解下,才能更好的發(fā)揮正則的作用于閱讀別人的代碼,先從基本來。
    2010-07-07
  • 如何快速學習正則表達式

    如何快速學習正則表達式

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

    Js&Vbs正則表達式替換重復的字符

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

    JS 正則表達式判斷各個瀏覽器代碼詳解

    學習了3天的正則了。也算幾掌握了點基本功。所以把原來一直用別人的判斷瀏覽器方法自己來寫了個。
    2010-05-05
  • 關于表格的正則表達式討論(表格)

    關于表格的正則表達式討論(表格)

    [藍色]關于表格的正則表達式討論(表格)...
    2006-08-08

最新評論

镇坪县| 永德县| 万山特区| 沁水县| 宁海县| 灌阳县| 太原市| 莱芜市| 登封市| 进贤县| 鄂尔多斯市| 红安县| 资阳市| 新巴尔虎左旗| 重庆市| 五指山市| 海南省| 自贡市| 寿阳县| 潍坊市| 昭苏县| 许昌市| 西林县| 洛阳市| 辉南县| 吉安县| 隆回县| 荔波县| 土默特右旗| 临武县| 大冶市| 连江县| 安丘市| 安康市| 济南市| 万安县| 北流市| 敖汉旗| 万盛区| 林西县| 日照市|