我想寫一個正則表達式,它產生的內容不在括號或括號中的字符串。括號總是一年,括號中可以包含任何普通字符,大寫和小寫。我正想它通過查找括號和括號,然後按[^ \正則表達式]逃脫它紅寶石正則表達式,一切,但括號和括號內是什麼
這裏的字符串(這是正確的?):
s = 'Some words (1999) [THINGS]
和正則表達式:
/[^(\(\d{4}\))|\[.*\]]/
,但是這包括裏面的人物在括號中看到(http://rubular.com/r/bbpcnnGgCI)
一切正常,直到加入[^ \正則表達式]
例如,該工程獲得(1999年):
>> puts s.match(/\(\d{4}\)/)
(1999)
和什麼括號:
>> puts s.match(/\[.*\]/)
[THINGS]
,但把它們放在一起使用|爲「或」:
>> puts s.match(/\(\d{4}\)|\[.*\]/)
(1999)
...它只是匹配括號及其內容。
這是怎麼回事?
我在這裏做錯了什麼?
@duckyfizz完美!和一個很好的資源。它與替換錯誤,但與gsub工作得很好。 – rick 2011-06-08 03:18:43
對不起,我的意思是gsub。出於某種原因已經替換了我的頭。 – 2011-06-08 03:21:44
即時通訊將不得不在這一點上工作,因爲我也有沒有括號或括號的字符串,並且當它在這些字符串上運行時,它會將其擦除(nil)。有任何想法嗎? – rick 2011-06-08 03:52:56