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

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

用于檢測(cè) semver 字符串的 Java 正則表達(dá)式在沒有限定符的情況下失敗

用于檢測(cè) semver 字符串的 Java 正則表達(dá)式在沒有限定符的情況下失敗

慕仙森 2023-09-13 17:34:20
我正在嘗試獲取一個(gè) Java 方法來驗(yàn)證參數(shù)是否是格式String正確的“ semver ”(語(yǔ)義版本控制)版本字符串。在我的應(yīng)用程序中,semver 字符串必須采用以下形式:<major>.<minor>.<patch>-<qualifier>在哪里:<major>是正整數(shù) (1+)<minor>和<patch>都是非負(fù)整數(shù) (0+)<qualifier>是一個(gè)字母數(shù)字字符串 ( ([0-9][a-z][A-Z])+)有效示例:1.2.401.0.0-SNAPSHOT2.0.45-RC3.10.0迄今為止我最好的嘗試:public boolean isSemVer(String version) {    Pattern versionPattern = Pattern.compile("^[a-zA-Z-]+\\d+\\.\\d+\\.\\d+");    Matcher matcher = versionPattern.matcher(version);    return matcher.matches();}生成false的第一個(gè)有效示例1.2.40。誰(shuí)能告訴我哪里出了問題以及我需要在正則表達(dá)式中進(jìn)行哪些調(diào)整才能讓它接受我的用例?提前致謝!
查看完整描述

2 回答

?
白豬掌柜的

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

您的有效字符串以數(shù)字而不是字母開頭,因此[a-zA-Z-]+在您的模式中已經(jīng)使模式錯(cuò)誤。

使用

^[1-9]\d*\.\d+\.\d+(?:-[a-zA-Z0-9]+)?$

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

細(xì)節(jié)

  • ^- 字符串的開頭

  • [1-9]\d*- 一個(gè)從1到 的數(shù)字9,然后是 0 個(gè)或多個(gè)數(shù)字

  • \.\d+\.\d+- 兩次出現(xiàn).和 1+ 數(shù)字(可以寫成(?:\.\d+){2}

  • (?:-[a-zA-Z0-9]+)?- 可選出現(xiàn)-和 1+ 個(gè)字母數(shù)字字符([a-zA-Z0-9]可以寫為\p{Alnum}

  • $- 字符串末尾。

在 Java 中,與 一起使用.matches()

public boolean isSemVer(String version) {

    Pattern versionPattern = Pattern.compile("[1-9]\\d*\\.\\d+\\.\\d+(?:-[a-zA-Z0-9]+)?");

    Matcher matcher = versionPattern.matcher(version);

    return matcher.matches();

}


查看完整回答
反對(duì) 回復(fù) 2023-09-13
?
喵喔喔

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

您可以嘗試使用官方SemVer 正則表達(dá)式

"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"gm



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

添加回答

舉報(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)