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

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

c#中字母數(shù)字字符串的正則表達(dá)式接受下劃線和空格

c#中字母數(shù)字字符串的正則表達(dá)式接受下劃線和空格

C#
九州編程 2022-01-15 19:29:14
我已經(jīng)瀏覽了很多關(guān)于SO的帖子。我沒有找到我需要的特定場景。我需要一個用于字母數(shù)字字符串的正則表達(dá)式。應(yīng)符合以下條件的地方有效字符串:ameya123 (alphabets and numbers)ameya (only alphabets)AMeya12(Capital and normal alphabets and numbers)Ameya_123 (alphabets and underscore and numbers)Ameya_   123 (alphabets underscore and white speces)無效的字符串:123 (only numbers)_ (only underscore)(only space) (only white spaces)any special charecter other than underscore我到目前為止所嘗試的:(?=.*[a-zA-Z])(?=.*[0-9]*[\s]*[_]*)上面的正則表達(dá)式在正則表達(dá)式在線編輯器中工作,但在 c# 中的數(shù)據(jù)注釋中不起作用請建議。
查看完整描述

3 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個贊

根據(jù)您的要求而不是您的嘗試,您需要的是:

^(?!(?:\d+|_+| +)$)[\w ]+$

負(fù)前瞻尋找不希望的匹配以使整個過程失敗。這些是僅包含數(shù)字、僅下劃線或僅包含空格的字符串。如果它們永遠(yuǎn)不會發(fā)生,我們希望有一個與^[\w ]+$幾乎相同的匹配^[a-zA-Z0-9_ ]+$。

在此處查看現(xiàn)場演示

說明

  • ^ 行首/字符串

  • (?! 負(fù)前瞻開始

    • \d+ 匹配數(shù)字

    • | 或者

    • _+ 匹配下劃線

    • | 或者

    • [ ]+ 匹配空間

    • (?: 非捕獲組的開始

    • )$非捕獲組的結(jié)尾緊跟行/字符串的結(jié)尾(應(yīng)該找不到以前的匹配項(xiàng)

    • ) 負(fù)前瞻結(jié)束

    • [\w ]+$ 將字符集中的字符匹配到輸入字符串的結(jié)尾

    注意:\w[a-zA-Z0-9_]除非u設(shè)置修飾符的簡寫。


    查看完整回答
    反對 回復(fù) 2022-01-15
    ?
    慕姐8265434

    TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個贊

    您的正則表達(dá)式的一個問題是,在注釋中,正則表達(dá)式必須匹配并使用整個字符串輸入,而您的模式僅包含不使用任何文本的環(huán)視。

    您可以使用

    ^(?!\d+$)(?![_\s]+$)[A-Za-z0-9\s_]+$

    請參閱正則表達(dá)式演示。請注意\w(當(dāng)用于服務(wù)器端驗(yàn)證時,因此使用 .NET 正則表達(dá)式引擎解析)在服務(wù)器端驗(yàn)證時也將允許任何 Unicode 字母、數(shù)字和更多內(nèi)容,所以我寧愿[A-Za-z0-9_] 堅(jiān)持與服務(wù)器端和客戶端驗(yàn)證一致。

    細(xì)節(jié)

    • ^ - 字符串的開頭(這里不是必需的,但在調(diào)試時很好)

    • (?!\d+$) - 如果整個字符串由數(shù)字組成,則匹配失敗的負(fù)前瞻

    • (?![_\s]+$)- 如果整個字符串由下劃線和/或空格組成,則匹配失敗的負(fù)前瞻。注意:如果您打算只禁止____"    "喜歡輸入,則需要將此前瞻拆分為(?!_+$)(?!\s+$)

    • [A-Za-z0-9\s_]+- 1+ ASCII 字母、數(shù)字_和空白字符

    • $ - 字符串結(jié)尾(這里不是必需的,但仍然很好)。


    查看完整回答
    反對 回復(fù) 2022-01-15
    ?
    MYYA

    TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個贊

    如果我正確理解您的要求,您需要匹配一個或多個字母(大寫或小寫),并且可能匹配零個或多個數(shù)字、空格或下劃線。這意味著以下模式:

    ^[A-Za-z0-9\s_]*[A-Za-z][A-Za-z0-9\s_]*$

    演示


    在演示中,我已替換\s\t \r, 因?yàn)?code>\s所有行都匹配。

    與@revo 和@wiktor 給出的答案不同,我對正則表達(dá)式?jīng)]有花哨的解釋。即使不化妝我也很漂亮。老實(shí)說,如果您不理解我給出的模式,您可能想查看一個好的正則表達(dá)式教程。


    查看完整回答
    反對 回復(fù) 2022-01-15
    • 3 回答
    • 0 關(guān)注
    • 428 瀏覽

    添加回答

    舉報(bào)

    0/150
    提交
    取消
    微信客服

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

    幫助反饋 APP下載

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

    公眾號

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