栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java正则表达式转义字符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java正则表达式转义字符

在当前情况下没有区别。通常的字符串转义序列是在单个反斜杠的帮助下形成的,然后有效的转义字符(

"n"
,
"r"
等)和 正则表达式转义序列 在
文字 反斜杠的帮助下形成(即Java字符串中的双反斜杠)。文字)和一个有效的正则表达式转义字符(
"\n"
,
"\d"
,等)。

"n"
( 转义序列 )是文字LF(换行符),并且
"\n"
是与LF符号匹配的正则表达式转义序列。

"r"
( 转义序列 )是文字CR(回车),并且
"\r"
是与CR符号匹配的正则表达式转义序列。

"t"
( 转义序列 )是文字的制表符,
"\t"
也是与制表符匹配的正则表达式转义序列。

有关 正则表达式 转义的受支持列表,请参见Java
regex文档
中的列表。
__

但是,如果使用

Pattern.COMMENTS
标志(用于引入注释并很好地格式化模式,使regex引擎忽略模式中所有未转义的空格),则需要在Java字符串文字中使用
"\n"
或
"\n"
定义换行符(LF)。和
"\r"
或
"\r"
定义回车(CR)。

查看Java测试:

String s = "n";System.out.println(s.replaceAll("n", "LF")); // => LFSystem.out.println(s.replaceAll("\n", "LF")); // => LFSystem.out.println(s.replaceAll("(?x)\n", "LF")); // => LFSystem.out.println(s.replaceAll("(?x)\n", "LF")); // => LFSystem.out.println(s.replaceAll("(?x)n", "<LF>")); // => <LF>//<LF>

为什么最后一个产生

<LF>
+ newline +
<LF>
?因为
"(?x)n"
等于
""
,所以是一个空模式,它与换行符之前和之后的空格匹配。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号