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

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

正則表達式以字符集開始和結束,但中間有不同的字符集

正則表達式以字符集開始和結束,但中間有不同的字符集

C#
MM們 2022-10-15 15:14:48
我正在嘗試創建一個正則表達式:必須是一組字符中的第一個字符 ( FIRST_SET)可以選擇在不同的字符集中包含后續字符 ( SECOND_SET)但如果它有 2 個或更多字符,最后一個字符必須在FIRST_SET總長度不能超過MAX_CHARS字符例子FIRST_SET= ac 或 eg(所以 d 被排除在外)SECOND_SET= 股份公司MAX_CHARS= 10這是我到目前為止所擁有的:^[a-c|e-g][a-g]{0,8}[a-c|e-g]{0,1}$這似乎有效,除非d是最后一個字符和總字符數< MAX_CHARS有沒有辦法解決這個問題?
查看完整描述

1 回答

?
MYYA

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

您可以使用

^(?!.{11})(?=.*[a-ce-g]$)[a-ce-g][a-g]{0,9}$

請參閱正則表達式演示。

細節

  • ^- 字符串的開始

  • (?!.{11})- 最多允許 10 個字符

  • (?=.*[a-ce-g]$)- 在 0 個或多個字符之后,最后一個應該來自FIRST SET

  • [a-ce-g]- 一封來自FIRST SET

  • [a-g]{0,9}- 零到九個字符SECOND SET

  • $- 字符串結束。

請注意,|內部字符類匹配文字管道字符,您需要將其從模式中刪除。

如果(?!.{11})字符串中有任何 11 個字符(換行符除外),則在字符串的開頭執行一次否定前瞻,并且匹配失敗。您也可以使用(?=.{0,10}$),它只需要在字符串中包含 0 到 10 個字符。


查看完整回答
反對 回復 2022-10-15
  • 1 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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