${str?replace("\d+", "", "r")};
我想使用\d
删除数字,但它不起作用!!!
但${str?replace("[0-9]", "", "r")};
有效!!!
所以,我想知道如何使用\d
,\b
,\w
等正则表达式?
答案 0 :(得分:7)
你需要加倍反斜杠:
${str?replace("\\d+", "", "r")};
这是因为在正则表达式转义规则之前应用了字符串转义规则。因此,字符串"\\d"
会转换为正则表达式\d
,然后匹配数字。
如果您的字符串是"\d"
,字符串处理器会将其转换为文字d
(因为\d
不是可识别的字符串转义序列,因此它被忽略)。