欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

正則別光想著抄,看懂用法下次你也會寫

freeflydom
2023年6月27日 10:25 本文熱度 559

校驗字符串是否包含大小寫字母+數字+特殊字符,并且長度為8-12。

如果想要使用單個正則表達式就解決上述問題,就需要稍微學習一下正則的一些高級用法了。

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[a-zA-Z\d!@#$%^&*()_+]{8,12}$

先行斷言(預搜索)

先行斷言中不會獲取任何內容,只是做一次篩查

  • 正向先行 指在某個位置向右看,該位置必須能匹配該表達式(?=表達式)。

  • 反向先行 指在某個位置往右看,該位置保證不能出現的表達式。

  • 正向后行 指在某個位置向左看,該位置必須能匹配該表達式,但不會獲取表達式的內容(?<=表達式)

  • 反向后行 指在某個位置往左看,該位置保證不能出現的表達式(?<!表達式)


這個正則表達式使用了正向先行斷言來同時檢查字符串中是否包含大小寫字母、數字和特殊符號。它的含義如下:

  • ^:匹配字符串的開頭。

  • (?=.*[a-z]):正向先行斷言,要求字符串中至少包含一個小寫字母。

  • (?=.*[A-Z]):正向先行斷言,要求字符串中至少包含一個大寫字母。

  • (?=.*\d):正向先行斷言,要求字符串中至少包含一個數字。

  • (?=.*[!@#$%^&*()_+]):正向先行斷言,要求字符串中至少包含一個特殊符號(這里列出了一些常見的特殊符號,你可以根據需要添加或修改)。

  • [a-zA-Z\d!@#$%^&*()_+]:匹配允許的字符集合,包括大小寫字母、數字和特殊符號。

  • {8,12}:限定字符串的長度在 8 到 12 位之間。

  • $:匹配字符串的結尾。

使用這個正則表達式可以對目標字符串進行檢查,判斷是否滿足包含大小寫、數字和特殊符號,并且長度為 8 到 12 位的要求。例如:

let regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[a-zA-Z\d!@#$%^&*()_+]{8,12}$/;

let str = "Password123!";

let isMatch = regex.test(str);

console.log(isMatch); // 輸出: true

獲取ip地址

當處理日志文件時,有時需要從日志文本中提取特定的信息。一個常見的場景是提取日志中的 IP 地址。

假設我們有一個日志文件,其中包含了多行日志記錄,每行記錄的格式如下:

[2023-06-26 10:15:25] [INFO] Access from IP: 192.168.0.1 to URL: /home

在上述示例中,我們使用 match 方法來執行正則表達式匹配,并將匹配的結果存儲在 match 變量中。如果有匹配結果,我們可以從數組中取得第一個元素 match[0],即提取到的 IP 地址。

let logText = "[2023-06-26 10:15:25] [INFO] Access from IP: 192.168.0.1 to URL: /home";

let regex = /\b(?:\d{1,3}\.){3}\d{1,3}\b/;

let match = logText.match(regex);

if (match) {

  let ipAddress = match[0];

  console.log(ipAddress); // 輸出: 192.168.0.1

} else {

  console.log("No IP address found.");

}

非捕獲型分組

非捕獲型分組是正則表達式中的一種分組語法,用于對一組子表達式進行邏輯組合,但不會捕獲匹配的結果。它以 (?: 開始,并以 ) 結束。

/\b(?:\d{1,3}\.){3}\d{1,3}\b/

解釋一下這個正則表達式:

  • \b:單詞邊界,用于確保 IP 地址被完整匹配。

  • (?:\d{1,3}\.){3}:非捕獲型分組,匹配由 1 到 3 個數字和一個點組成的序列,重復匹配 3 次,用于匹配 IP 地址的前三個數字和點的部分。

  • \d{1,3}:匹配由 1 到 3 個數字組成的序列,用于匹配 IP 地址的最后一個數字。

  • \b:單詞邊界,用于確保 IP 地址被完整匹配。


原文鏈接



該文章在 2023/6/27 10:25:31 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved