2012-12-31 91 views
0

例如正則表達式匹配任何不包含「/」

Season   // matches 
Season/Winter // wont match 
Season/Spring // wont match 
+4

這個正則表達式很微不足道。你有什麼嘗試? – Michael

+1

@Michael你爲什麼不添加答案呢? –

+1

@OlafDietsche因爲學習正則表達式對他/她來說是一種很好的練習。此外,他甚至沒有展示任何作品,所以他似乎甚至沒有嘗試,只是來找我們快速回答。教一個人釣魚等 – Michael

回答

2

我真的懷疑你需要爲正則表達式的任何語言,反正:

^[^/]*$ 

http://regexr.com?339e2

通常可以使用字符串搜索的方法,如JavaScript的indexOf字符串的方法或PHP的strpos功能,試圖找到/,大多數語言都提供本地字符串方法,它比正則表達式快得多,也是更好的解決方案,甚至更簡單。
編輯:對於mongodb作爲OP的情況下,正則表達式似乎是最合適的解決方案。我相信它應該比使用另一種語言的字符串函數遍歷所有記錄更優化。

+0

我需要它爲PHP mongoDB查詢。我認爲一個正則表達式是唯一的解決方案..雖然我願意接受建議。 – RayLoveless

+0

哦,我明白了。我認爲這可能是一個更具體的用例。 '=]'我會保留註釋,所以其他讀者只需查找正則表達式來匹配其他語言的'/'就會得到這些信息。 –

+0

@Raymo通過這個[相關的問題](http://stackoverflow.com/q/3305561/1331430)來看,似乎正則表達式實際上是唯一的方法。 –

1

您在找一個角色分類。這些是[]字符。在裏面,你指定你正在尋找的角色。您還可以添加^字符,以指示否定的字符類,它包含任何內容但您已指定的字符。所以,你的正則表達式是:

^[^/]*$ 

然而,大多數字符串庫有工具來尋找一個特定的字符。例如,在C#中,你可以這樣做:

if (! String.Contains("/")) { /* your logic here */ } 
相關問題