Attualmente sto cercando di trovare le parentesi di apertura in una stringa usando regex in Elm 0.16 e sostituisco ognuna di esse con una parentesi seguita da uno spazio. Ho anche intenzione di sostituire ciascuna delle parentesi di chiusura nella stringa con uno spazio seguito da una parentesi di chiusura. Questo è così posso quindi sostituire gli spazi con una virgola per separare la stringa. La stringa che sto cercando di usare l'espressione regolare su è qui:Trovare e sostituire le parentesi in una stringa in Elm 0.16
((dati "citato dati" 123 4.5) (dati (@ # (4,5) "(più" "dati)"))!)
Ho già usato espressioni regolari per rimuovere le barre rovesciate utilizzate per evitare le virgolette. Per questo ho usato questa funzione:
getRidOfBackslashes : String -> String
getRidOfBackslashes sExpression =
sExpression
|> Regex.replace Regex.All (Regex.regex "\\g") (\_ -> "")
Poi ho cercato di utilizzare la seguente funzione per raggiungere l'obiettivo indicato in precedenza per quanto riguarda le parentesi di apertura:
createSpacesParentheses sExpression =
sExpression
|> (\_ -> getRidOfBackslashes sExpression)
|> Regex.replace Regex.All (Regex.regex "\(") (\_ -> "(")
Guardando diversi javascript dama regex mio molto semplice regex sembra fare quello che voglio ancora il compilatore Elm mi dà l'errore:
(line 1, column 3): unexpected "(" expecting space, "&" or escape code
27│ |> Regex.replace Regex.All (Regex.regex "\(") (\_ -> "(")
^
Maybe <http://elm-lang.org/docs/syntax> can help you figure it out.
mi chiedo se sto andando su questo nel modo giusto e se qualcuno potrebbe offrire assistenza. Grazie in anticipo.
Se c'è un problema con l'escaping, usa una classe di caratteri: '[(]'. Ma sembra che puoi anche fare doppio escape di '(': '\\ (' –
Grazie mille che ha funzionato perfettamente. –