我有一個關鍵字列表叫[貓,狗,鳥]和一個正則表達式來找到一個權重(\ dlbs)。查找兩個字符串之間有最大數量的字符
我只是想找到的項目,
- 開始與數組中的項目
- (貓|狗|?鳥)
- 比賽重正則表達式
- (\ dlbs)
- 僅1和2之間 有30個字符(不包括空格)一個最大
- 不想或照顧捕捉1-30個字符
感謝任何幫助!
我有一個關鍵字列表叫[貓,狗,鳥]和一個正則表達式來找到一個權重(\ dlbs)。查找兩個字符串之間有最大數量的字符
我只是想找到的項目,
感謝任何幫助!
這將做到這一點:
(cat|dog|bird)\s*(?:(?:\S\s*){0,30})(\dlbs)
編輯,以體現 「不計空格」 點。
匹配,例如,每個以下的:
The cat weighs almost exactly 7lbs.
The cat weighs almost exactly 7lbs
注意:您似乎對你的問題流浪?
在(cat|dog|bird?)
- 我已經忽略了它。另外,你確定你有\dlbs
,而不是17 lbs
或17 pounds
?您可以輕鬆地解決這些場景與
(cat|dog|bird)\s*(?:(?:\S\s*){0,30})(\d\s*(?:lb|pound)s)
(\s*.){0,30}
最多30個字符不含空格:
(cat|dog|bird)(\s*.){0,30}\s*(\dlbs)
什麼是字符串你有? –
downvotes(和投票結束)是從誰相信你的問題是不清楚的讀者。字符串看起來像是「貓20磅,狗60磅,鳥450磅」還是「我的貓重20磅,我的狗60磅,450磅的大鳥尖」或其他什麼東西?是每個「物品」你想要找到一個數組(例如'['狗',60]'),一個子字符串(「狗是60磅」)還是其他?用一個方法'doit(str)'來想想這個。你想讓'doit'返回幾個示例字符串中的每一個(包括'貓狗40磅'等'邊緣情況')。通過編輯你的問題來做到這一點(不帶評論),毫不拖延。 –
我很抱歉,SO的難點之一是你必須提出一個問題,同時晦澀的實際數據足以滿足......「客戶」。當我發現我的(愚蠢的)錯誤時,我覺得埃德應該得到他的及時和適當答案的榮譽。但是,如果你決定關閉它,我會明白。 – Rabbott