第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

正則表達(dá)式中的條件邏輯

正則表達(dá)式中的條件邏輯

泛舟湖上清波郎朗 2023-11-12 15:08:19
我正在嘗試使用正則表達(dá)式獲得以下條件邏輯。if (text starts with +61) {  if (text after +61 is 1800) {    // then match 6 digits after 1800. So, the regex until here should be +611800 and then 6 digits  } else {    // match 9 digits after +61  }}我閱讀了如何編寫條件正則表達(dá)式。但是,我被下面的正則表達(dá)式困住了^\+61((?=1800)\d{6}|\d{9})$上面的正則表達(dá)式失敗了,但它必須成功+611800123456(這必須成功)以下文本通過(guò)了正則表達(dá)式測(cè)試,但它必須失敗+61180012345(這必須失?。┻@是我在 regexr 網(wǎng)站中的測(cè)試。https://regexr.com/5ia2e
查看完整描述

1 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

(?=1800)\d{6}模式意味著與 匹配的前四位數(shù)字\d{6}必須是1800,而您想要匹配子1800字符串后的任意六位數(shù)字。這意味著,您需要將非消費(fèi)模式“轉(zhuǎn)換”(?=1800)為消費(fèi)1800模式。

另請(qǐng)注意,\d{9}第二個(gè)替代方案將匹配任何九個(gè)數(shù)字,而您只想匹配不以 開頭的數(shù)字1800。您需要在第二個(gè)替代方案前面添加一個(gè)(?!1800)負(fù)的前瞻模式。不幸的是,JavaScript RegExp 不支持條件構(gòu)造,在 PCRE、.NET 等中您可以使用?^\+61(?(?=1800)1800\d{6}|\d{9})$,但在本例中不行。

在這里,您可以使用

^\+61(?:1800\d{6}|(?!1800)\d{9})$

請(qǐng)參閱正則表達(dá)式演示

細(xì)節(jié)

  • ^- 字符串的開頭

  • \+61-+61子串

  • (?:1800\d{6}|(?!1800)\d{9})- 匹配的非捕獲組

    • 1800\d{6}?-1800子字符串,然后是任意六位數(shù)字

    • |- 或者

    • (?!1800)\d{9}- 任何不以以下字符開頭的九位數(shù)字1800

  • $- 字符串末尾。


查看完整回答
反對(duì) 回復(fù) 2023-11-12
  • 1 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)