亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于在字符串和特定長度之間匹配字符串的 Javascript 正則表達式

用于在字符串和特定長度之間匹配字符串的 Javascript 正則表達式

HUX布斯 2022-11-03 10:21:05
我應該如何編寫正則表達式以從具有以下條件的字符串中提取子字符串:起始字符應該是A最后 2 個字符應該是00.字符串的總長度應在 7 到 8 之間只有數字含義A+ 12345678 +00例如:輸入:ABC12345678CRP1234567F2801209A1234567800<<<33輸出:12345678到目前為止,我已經嘗試過以下正則表達式,但似乎我遺漏了什么?/(A(.*)00)/(這失敗了,因為它與正確的長度不匹配/(A(.*)00){7,8}/(我不確定為什么會失敗,但想法是保持與以前相同并添加長度限制)有任何想法嗎?
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

你可以試試:

A\d{7,8}00

上述正則表達式的解釋:

  • AA-從字面上匹配。

  • \d{7,8}- 匹配數字 7 到 8 次。

  • 0000-從字面上匹配。

您可以在此處找到上述正則表達式的演示。

let string = `ABC12345678CRP1234567F2801209A1234567800<<<33`;

const regex = /A(\d{7,8})00/gm;


console.log(regex.exec(string)[1]);


查看完整回答
反對 回復 2022-11-03
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

(?<=A)(\d{7,8})(?=00)

(?<=A)Positive lookbehind 將確保匹配的字符串包含A
(?=00) Positive lookahead 將確保字符串后跟00

https://regex101.com/r/nP0Qu0/1


查看完整回答
反對 回復 2022-11-03
?
達令說

TA貢獻1821條經驗 獲得超6個贊

您正在尋找這個正則表達式:/(A(\d{8})00|(A(\d{7})00))/gm

解釋:

  • A(\d{8})00:以“A”開頭,有8位數字,以“00”結尾,或者

  • |: 或者

  • (A(\d{7})00): 以“A”開頭,有 7 位數字,以“00”結尾,或者

您將在第二組中獲得完整匹配(“A########00”或“A##########00”),并且只有數字(“######## " 或 "#########") 在第二組中。

演示:https ://regex101.com/r/Ml1xih/1/


查看完整回答
反對 回復 2022-11-03
  • 3 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號