Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在clojure中查找并用引号和括号替换字符串_Regex_Clojure - Fatal编程技术网

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变量相同。反斜杠实际上不存在于字符串的内存形式中。当然,外部引用也不例外。反斜杠和外引号只是用于使解析器能够区分字符串对象的哪些部分和哪些部分不是的约定。