簡體   English   中英

匹配正則表達式中的字符序列

[英]Match sequence of characters in regular expression

我想匹配字符串中的字母序列。 例如,如果我有字母TBEI,則希望匹配所有以字母T開頭並且包含字母B和E的字符串至少一次。 第二個字母必須出現在第三個字母之前,並且字母之間可能有無限多個字符。

也就是說,字母TBE將與字符串Table,Trouble和Terrible而不是Teb匹配。

我正在嘗試通過使用php編寫代碼

$A = 'T';
$B = 'B';
$C = 'E';

$matches = preg_grep('/^'.$A.'.+'.$B.'.+'.$C.'/', $words);

單詞是包含單詞列表的數組。 以我的方式,算法可以工作,但是在$ A $ B或$ C之間沒有字母的情況下,我找不到單詞。

我將如何使用正則表達式解決此問題?

之所以無法在$ A $ B或$ C之間找不到沒有字母的單詞,是因為您使用的.+試圖匹配$ A $ B或$ C之間的至少1個字符。

使用.*代替.+

暫無
暫無

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

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