2009-11-23 31 views

回答

7
/(.+)(?<!associated)_id$/ 

將使用負回顧後,以確保無論是由(.+)匹配在associated並沒有結束。

對於不支持回顧後的語言,你可以這樣做:

/\A(?!.*associated_id$)(.+)_id$/ 

這將斷言,它不可能以匹配字符串的起始位置associated_id結尾的字符串。

+0

我試圖做到這一點的軌道,如果我插在 「associated_id」 .match(/(+)(相關<)_id $ /。?!)我得到 語法錯誤:編譯錯誤 (IRB):4:未定義(?...)序列:/(.+ ?!)(<相關)_id從(IRB)$/ \t:4 – 2009-11-23 20:10:57

+0

哦。 Ruby不支持向後看,我剛剛發現。將編輯。 – 2009-11-23 20:23:17

+0

謝謝蒂姆:) – 2009-11-23 20:27:37

0

我不是一個「regexpert」,所以我敢肯定,有可能是一個這樣做的更好的辦法,但我想出了

/(.+[^associated_id].+)_id$/ 
相關問題