/ / रूबी में रेगेक्स के साथ उद्धरण के बीच पाठ कैसे निकालें - रूबी, रेगेक्स

रूबी, रूबी, रेगेक्स में रेगेक्स के साथ उद्धरण के बीच पाठ निकालने के लिए कैसे

मेरे पास निम्नलिखित स्ट्रिंग है और मैं एकल उद्धरणों के बीच पाठ निकालना चाहता हूं।

javascriptfunction("marie d"avignon","-","","3")

मेरे लिए समस्या बची हुई एकल बोली है (भागे हुए पात्रों की कई घटनाएं हो सकती हैं), इसलिए मैच होना चाहिए

marie d"avignon
-
3

मदद की सराहना की है

उत्तर:

उत्तर № 1 के लिए 1

आप नीचे regex की कोशिश कर सकते हैं,

(?<=")(?:[^"]*\")+[^"]*(?=")

डेमो

(?:[^"]*\")+ रेगेक्स यह सुनिश्चित करता है कि उद्धृत स्ट्रिंग के अंदर मौजूद एक बची हुई बोली होनी चाहिए।


जवाब के लिए 0 № 2

सबसे सरल शायद है:

str = "javascriptfunction("marie d\"avignon","-","","3")"
#=> "javascriptfunction("marie d\"avignon","-","","3")"
str[/".*?(?<!\)"/]
#=> ""marie d\"avignon""
str.scan /"(.*?(?<!\))"/
#=> [["marie d\"avignon"], ["-"], [""], ["3"]]