How to represent the double quotes character (quot;) in regex?(如何在正则表达式中表示双引号字符(quot;)?)
问题描述
我需要使用正则表达式来检查字符串是否以 双引号 字符 (") 开头并以 双引号 结尾角色也是.
I need to use regex, to check if a string starts with a double quotes character (") and ends with a double quotes character too.
问题是我不能使用 双引号 字符,因为它会混淆.有没有其他方法可以在正则表达式或一般字符串中表示 双引号 字符 "?
The problem is I can't use a double quotes character, cause it gets confused. Is there any other way to represent a double quotes character " in regex, or in string in general?
String s = """; // ?
推荐答案
首先,双引号字符在正则表达式中并没有什么特别之处——它只是另一个字符,所以它不需要转义从正则表达式的角度来看.
Firstly, double quote character is nothing special in regex - it's just another character, so it doesn't need escaping from the perspective of regex.
但是,由于Java使用双引号分隔字符串常量,如果你想在Java中创建一个带有双引号的字符串,你必须将它们转义.
However, because Java uses double quotes to delimit String constants, if you want to create a string in Java with a double quote in it, you must escape them.
此代码将测试您的字符串是否匹配:
This code will test if your String matches:
if (str.matches("".*"")) {
// this string starts and end with a double quote
}
请注意,您不需要添加 start 和 end 的输入标记(^ 和 $) 在正则表达式中,因为 matches() 要求匹配整个输入以返回 true - ^ 和 $ 是隐含的.
Note that you don't need to add start and end of input markers (^ and $) in the regex, because matches() requires that the whole input be matched to return true - ^ and $ are implied.
这篇关于如何在正则表达式中表示双引号字符(")?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在正则表达式中表示双引号字符(")?
基础教程推荐
- 多个组件的复杂布局 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- Java Swing计时器未清除 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
