- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想了解以下代码中正则表达式的概念:
private static final String SQL_INSERT = "INSERT INTO ${table}(${keys})
VALUES(${values})";
private static final String TABLE_REGEX = "\\$\\{table\\}";
.
.
.
String query = SQL_INSERT.replaceFirst(TABLE_REGEX, "tableName");
TABLE_REGEX = "\\$\\{table\\}";
包含双反斜杠?
最佳答案
$
和 {
通常不需要在 Java 字符串文字中转义,但在正则表达式中它们需要转义,因为它们在正则表达式中具有特殊含义。 $
匹配行尾和 {
用于匹配字符一定次数。要匹配任何正则表达式特殊字符本身,这些字符需要进行转义。例如 A{5}
匹配 AAAAA
但是 A\{5
匹配 A{5
.
要转义正则表达式字符串中的某些内容,您可以使用 \
.但是字符串文字中的反斜杠本身需要转义,这是由另一个 \
完成的.那就是字符串文字 "\\{"
实际上对应的是字符串"\{"
.
这就是为什么在正则表达式字符串文字中您经常会遇到多个反斜杠的原因。您可能还想看看 Pattern.quote(String s)
它接受一个字符串并正确转义所有特殊字符(wrt. Java 正则表达式)。
基本上代替
private static final String TABLE_REGEX = "\\$\\{table\\}";
private static final String TABLE_REGEX = Pattern.quote("${table}");
SQL_INSERT.replaceFirst(TABLE_REGEX, "tableName");
匹配第一次出现的
${table}
在
SQL_INSERT
并将此事件替换为
tableName
:
String sql = "INSERT INTO ${table}(${keys}) VALUES(${values})".replaceFirst("\\$\\{table\\}", "tableName");
boolean test = sql.equals("INSERT INTO tableName(${keys}) VALUES(${values})");
System.out.println(test); // will print 'true'
关于java - java中带双反斜杠的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478948/
我有一个右下角倾斜的元素,我必须在其上放置一个盒子阴影。有时倾斜的 Angular 被徽章覆盖 - 我的问题不适用,如果是这样的话: 这是信息框及其边 Angular 的 (s)css 部分(还有更多
是否可以在纯 html/css 中创建类似下面的内容? 我想做这个响应式和全 (100%) 宽度(最大左 Angular 100 像素,右边最小 50 像素,类似的东西)。 最佳答案 您可以通过转换(
如何在 fabricjs 文本中为文本提供渐变或斜 Angular 效果?? http://fabricjs.com/fabric-intro-part-2/ 这里给出了形状和所有示例,我将其与文本绑
我用过: http://apps.eky.hk/css-triangle-generator/ 为彼此对 Angular 放置的两个不等边三 Angular 形生成 css: 左下三 Angular
我是一名优秀的程序员,十分优秀!