正则表达式—-转义

\s 空白字符:[ \t\n\x0B\f\r] //这个市重点!

\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
\e 转义符 ('\u001B')

\cx 对应于 x 的控制符


参考自: http://bbs.youkuaiyun.com/topics/230038692

正则表达式中反斜杠的转义规则和使用方法在不同编程语言中有所不同。 在 Java 中,正则表达式与字符处理是分离的。在 Java 代码里,字符串中的反斜杠本身就需要转义,两个反斜杠 `\\` 代表一个普通反斜杠字符。当进行正则匹配时,如 `str.matches("\\\\")`,先将 `"\\\\"` 转换成字符串 `"\\`",再交给正则表达式处理,正则表达式转义一次,最终匹配一个反斜杠。也就是说在 Java 的正则表达式中,两个 `\\` 代表其他语言中的一个 `\`,例如表示一位数字的正则表达式是 `\\d`,表示一个普通反斜杠则需要 `\\\\`。示例代码如下: ```java import java.util.regex.Pattern; public class RegexExample { public static void main(String[] args) { String str = "\\"; boolean isMatch = str.matches("\\\\"); System.out.println(isMatch); } } ``` 在 JavaScript 中,在字符串形式的正则表达式里,需要对反斜杠进行转义。不过当使用 `@` 定义字符串(逐字字符串字面量)时,多数情况下不需要对特殊字符如反斜杠进行转义正则表达式中的 `\d` 可直接写作 `\d`,`\w` 就是 `\w` 等。示例代码如下: ```javascript // 普通字符串形式的正则表达式 let regex1 = new RegExp("\\d"); let str1 = "1"; console.log(regex1.test(str1)); // 使用逐字字符串字面量 let regex2 = /\d/; let str2 = "2"; console.log(regex2.test(str2)); ``` 另外,在处理正则表达式时,通常会先进行“字符串转义”,再进行“正则转义”。例如“`\\|\\`”先经过“字符串转义”,前两个反斜杠和后两个反斜杠分别被转义成一个反斜杠,变为“`\|`” ,之后进行“正则转义”,“`\\`” 被转义为 “`\`”,表示该正则式需要匹配一个反斜杠[^1]。 而在其他语言(如 Perl)中,一个反斜杠 `\` 就足以实现转义作用,与 Java 有所不同[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值