簡體   English   中英

正則表達式:一個字符在一個序列中不能出現超過 4 次

[英]Regular expressions: a character cannot show more than 4 times in a sequence

我正在創建一個正則表達式,其中字符串必須以 E 開頭,可以有無限的 E (E+),並且必須以 C ([C]) 結尾。

那么 B 可以選擇在 E 和 C 之間,但只能成對出現(B{2}?)。

現在這是我堅持的部分。 字符串中的 P 不能超過 4 個。 我正在嘗試使用 S{0,4}。

最后,系列中的每個 P 或 P 序列必須后跟一個 D。

我一直在嘗試很多,但無法弄清楚 P 和 D。

您可以使用

^E+(?!(?:[^P\n]*P){5})(?:B{2}|P+D)*C$
  • (??(::[^P\n]*P){5}) - 確保這一行的 Ps 不超過 5 個。 否定的前瞻方式執行此操作,而不是消耗字符,以允許更多邏輯

  • (?:B{2}|P+D)* - 中間的每個 substring 要么需要是 B 對,要么是一些 Ps 后跟 D

https://regex101.com/r/2tg7Mr/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM