下面是一個例子:正則表達式 - 不包括字符
S = 「[email protected]」
s.match(/ + [^ @] * /)
結果=> 「+潛臺詞」
的事情是,我不希望有 「+」 在那裏。我想要的結果是「潛臺詞」,而+
下面是一個例子:正則表達式 - 不包括字符
S = 「[email protected]」
s.match(/ + [^ @] * /)
結果=> 「+潛臺詞」
的事情是,我不希望有 「+」 在那裏。我想要的結果是「潛臺詞」,而+
您可以使用括號在正則表達式來創建匹配組:
s="[email protected]"
s =~ /\+([^@]*)/ && $1
=> "subtext"
你可以使用一個積極的向後斷言,我相信是這樣寫的:
s.match(/(?<=\+)[^@]*/)
編輯:所以我才注意到這是一個Ruby問題,我不知道這個功能是否在Ruby中(我本人不是Ruby程序員)。如果是的話,你可以使用它;如果沒有...我會刪除這個。
這將工作僅在紅寶石1.9+ – mckeed 2010-07-13 19:36:23
我不知道紅寶石非常好,但如果添加了部分的周圍捕獲你想它應該工作。即:\+([^@]*)
你可以用Rubular測試這些。這種特殊的比賽是在這裏:http://www.rubular.com/r/pqFza9jlmX
另一個語法,這是單曲[/ \ +([^ @] *)/ 1]'。 – mckeed 2010-07-13 19:38:16
@mckeed,我不知道。非常好! – 2010-07-13 19:40:38
謝謝大家!這些僅適用於紅寶石嗎?另外,&&代表什麼? – 2010-07-14 01:21:29