2014-04-03 68 views
-1

我有一個字符串是這樣的:正則表達式字

toddler shoes 
+saint +louis +baby +kids +clothing 
+omaha +white +onesies 
+albuquerque+mother+of+bride+gowns 
+anaheim+mother+ of+bride+gowns 

我需要找到一個具有多字的「+」號分隔的最後兩個字符串,但沒有空格,我已經試過以下但它不會工作

\\+\\w\\b(?!) 
\\+\\w(?!) 
\\+\\w+(?!\\s) 
\\+\\w[^\\s] 
(\\+(\\s)*\w)+ 

但他們都返回了前兩個字符串。

+2

您顯示的最後一個字符串中有空格。一個錯字? –

+0

這是什麼語言? Java的? –

+0

我在mongodb命令行中運行它 – user468587

回答

1

我相信你想找到任何數量的+和或\ w,沒有空格。您正則表達式

\\+\\w[^\\s] 

最接近大關,但要放在一個*在那裏,否則你只是在尋找那些人物之一。

在測試中使用Perl的正則表達式,以下工作:

[\+\w]* 

括號告訴它捕捉到無論是+或單詞字符任意次數。

+0

更新了我上面的例子,這個正則表達式在第一個'toddler shoes'的情況下不起作用, – user468587

+0

所以,現在我很困惑你到底想抓什麼。你在找動詞/名詞組合嗎?如果是這樣,你的正則表達式可能會長達數萬行。當我試圖找出一個正則表達式時,我發現花一些時間用簡單的英文寫一些我正在嘗試查找的內容以及任何例外情況都是很有幫助的。這也有助於提出有關問題。 –