簡體   English   中英

使用PHP中的正則表達式按字母順序對字母排序

[英]Ordering the letters by its sequence using regular expression in PHP

我試圖使用php / javascript中的正則表達式匹配有序字母。

我有一個4字母的單詞,其中前2個字母應按順序排列, BCEF兩個字母應按BCEF 我想使用正則表達式進行匹配。

但是下面的正則表達式也匹配命令CBFE

請提出以下表達式中缺少的內容以匹配字母順序。 謝謝。

[AH]{2}[DM]{2}

我不會使用正則表達式,而是使用php代碼:

$s = "BCEF";

$arr = str_split($s);

if ($arr[0] <= $arr[1] && $arr[2] <= $arr[3]) {
     // Your string matched
}

這是使用正則表達式的解決方案(但主要是為了說明它有多愚蠢 ;)。

(?:A[B-H]|B[C-H]|B[C-H]|D[E-H]|E[FGH]|F[GH]|GH)(?:D[E-M]|E[F-M]|F[G-M]|G[H-M]|H[I-M]|I[J-M]|J[KLM]|LM)

它具有兩個(不捕獲)的組,每個組對一個字母對。

他們使用交替測試所有可能的起始字符 (第一對為AG ,第二對為DL ),然后是交替允許的任何后續字符。

在regex101上看到它

暫無
暫無

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

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