如何在Groovy字符串中转义${}
我有一个字符串S,比如如何在Groovy字符串中转义${},groovy,Groovy,我有一个字符串S,比如“${abc}”,这里的${}是一个特殊的表达式,但是我想避免对表达式求值,并在Groovy中将S与“${abc}”逐字匹配 我运行S.matches(“\\$\{abc\\}”)将S与“${abc}”匹配。因为我想我需要用\来逃避${}。但它不起作用 有人知道如何做到这一点吗?不确定您的问题是什么,但以下直截了当的正则表达式很好: String s = '"${abc}"' assert s ==~ /"\$\{\w+\}"/ 您是否尝试过使用匹配器,例如def Mat
“${abc}”
,这里的${}
是一个特殊的表达式,但是我想避免对表达式求值,并在Groovy中将S与“${abc}”
逐字匹配
我运行S.matches(“\\$\{abc\\}”)
将S与“${abc}”
匹配。因为我想我需要用\来逃避${}。但它不起作用
有人知道如何做到这一点吗?不确定您的问题是什么,但以下直截了当的正则表达式很好:
String s = '"${abc}"'
assert s ==~ /"\$\{\w+\}"/
您是否尝试过使用匹配器,例如
def Matcher=s=~/\$\{abc\}/
,其中s是您的字符串值,例如def s='${abc}'
?谢谢,这就是我在使用双引号字符串“
时想要的expression在它们内部,将发生字符串插值。在计算字符串时,Groovy将尝试用占位符表达式的值替换占位符表达式(在${}
内部的任何内容)。由于没有定义abc变量,您将得到一个错误。您可以在官方的\\$\{abc\\}“导致错误。只有在您希望评估您的印象时,才应使用”
。对于普通的旧字符串,您应该使用”
谢谢您的解释