Regex 在clojure中查找并用引号和括号替换字符串
我试图取代:Regex 在clojure中查找并用引号和括号替换字符串,regex,clojure,Regex,Clojure,我试图取代: sum(“PUBLIC”、“ORDERS”、“TOTAL”)作为“sum” 在字符串中: 选择“PUBLIC”。“ORDERS”。“TAX”作为“TAX”,sum(“PUBLIC”。“ORDERS”。“TOTAL”)作为“sum”来自“PUBLIC”。“ORDERS”按“PUBLIC”分组。“ORDERS”。“TAX”按“PUBLIC”。“TAX”ASC 问题在于是否存在引号、括号和点引号。引号前面只需有一个反斜杠: user=> (def s "SELECT \"PUBLI
sum(“PUBLIC”、“ORDERS”、“TOTAL”)作为“sum”
在字符串中:
选择“PUBLIC”。“ORDERS”。“TAX”作为“TAX”,sum(“PUBLIC”。“ORDERS”。“TOTAL”)作为“sum”来自“PUBLIC”。“ORDERS”按“PUBLIC”分组。“ORDERS”。“TAX”按“PUBLIC”。“TAX”ASC
问题在于是否存在引号、括号和点引号。引号前面只需有一个反斜杠:
user=> (def s "SELECT \"PUBLIC\".\"ORDERS\".\"TAX\" AS \"TAX\", sum(\"PUBLIC\".\"ORDERS\".\"TOTAL\") AS \"sum\" FROM \"PUBLIC\".\"ORDERS\" GROUP BY \"PUBLIC\".\"ORDERS\".\"TAX\" ORDER BY \"PUBLIC\".\"ORDERS\".\"TAX\" ASC")
#'user/s
user=> (.replace s "sum(\"PUBLIC\".\"ORDERS\".\"TOTAL\") AS \"sum\"" "new string")
"SELECT \"PUBLIC\".\"ORDERS\".\"TAX\" AS \"TAX\", new string FROM \"PUBLIC\".\"ORDERS\" GROUP BY \"PUBLIC\".\"ORDERS\".\"TAX\" ORDER BY \"PUBLIC\".\"ORDERS\".\"TAX\" ASC"
无法编辑原始字符串,即变量
s
中的原始字符串。除非有方法动态添加反斜杠?反斜杠只是一个编码细节。原始字符串的形式是什么?纯字符串:选择“PUBLIC”。“ORDERS”。“TAX”作为“TAX”,sum(“PUBLIC”。“ORDERS”。“TOTAL”)作为“sum”来自“PUBLIC”。“ORDERS”按“PUBLIC”分组“订单”。“公共”下的“税务”订单。“订单”。“税务”ASC
以何种媒介存在?文本文件?Java字符串?那么它与答案中的s变量相同。反斜杠实际上不存在于字符串的内存形式中。当然,外部引用也不例外。反斜杠和外引号只是用于使解析器能够区分字符串对象的哪些部分和哪些部分不是的约定。