java - 如何在正则表达式中表示双引号字符 (")?

标签 java regex char

<分区>

我需要使用正则表达式来检查字符串是否以双引号字符 (") 开头并以双引号结尾性格也是。

问题是我不能使用双引号 字符,因为它会造成混淆。有没有其他方法可以在正则表达式或一般字符串中表示双引号字符"

String s = """;    // ?

最佳答案

首先,双引号字符在正则表达式中没有什么特别之处——它只是另一个字符,所以它不需要转义从正则表达式的角度

但是,由于 Java 使用双引号来分隔 字符串常量,如果您想在 Java 中创建一个带有双引号的字符串,则必须对它们进行转义。

此代码将测试您的字符串是否匹配:

if (str.matches("\".*\"")) {
    // this string starts and end with a double quote
}

请注意,您不需要添加输入标记的开始结束(^$ ) 在正则表达式中,因为 matches() 要求匹配整个输入以返回 true - ^$ 是隐含的。

关于java - 如何在正则表达式中表示双引号字符 (")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761596/

相关文章:

c - 如何在 C 中使用 char 指针初始化 char 数组

objective-c - 我为什么得到:从结果类型为char的函数返回const char *丢弃限定符

javascript - 使用PHP中的正则表达式替换JS文件中变量的值

PHP 单引号正则表达式

regex - 过滤 CSV 文件中的数据

c++ - 不推荐使用 char 的字符串文字

java - 在 kotlin 中使用大小初始化 ArrayList<ArrayList<Int>>

Java 允许将字节分配给 java.lang.Short 但不允许分配给 java.lang.Integer

java - 正则表达式:在字符串中查找和替换

尽管文件存在,但 java.io.FileNotFoundException