所以我最近有一個面試問題,要求我確定一個字符串是否平衡。一個字符串在這兩個條件下得到平衡:計算字符串中的字符匹配數(僅適用於Regex)?
- 'a'和'c'的出現總和是偶數。
- 'b'和'd'發生的總和是偶數。
因此,給出示例「cccddbba
」這些條件成立。 c (3)
+ a (1)
的出現次數爲even (1+3=4)
,d (2)
出現次數+ b (2)
出現次數爲even (2+2=4)
。字符串只能包含字符'a','b','c'和'd'。正則表達式應該適用於任何字符串,而不僅僅是這個例子。
我的任務只是爲此編寫正則表達式。我假設在背景中,他們計算使用我的正則表達式找到的'a'和'c'的匹配數量並總結出來。 'b'和'd'也是如此。
我在一段時間內沒有碰過正則表達式,所以我做得很糟糕,只得到了^([ac])*?[db]*?([ac])*?$
,這顯然是不正確的。每個斷言
如果有人問我在面試中,我會回答「不,正則表達式不是一個好的解決方案」。使用正則表達式將會是1.不可讀的2.對於將來的增強而言是不可或缺的。 – Tunaki
實際上這是一個編碼挑戰,而不是一個實際的面試問題,所以我沒有說:(但我完全同意你的意見。 – dtgee