其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

正则表达式的特使符号

GG网络技术分享 2025-03-18 16:15 2


问题描述:

String str1 = \"erkktyqqquizzzzzo\";

replaceAllDemo(str,\"\\\\d{5,}\",\"#\");

replaceAllDemo(str1,\"(.)\\1+\",\"$1\");

请问在这个java正则表达式中\"#\"和\"$1\"代笔什么含义不太明白 请大神指点 谢谢

网友观点:

#没有特殊含义,只是替换后的文本
$1代表分组,在你的程序里面代表1前面的任意字符,你的正则表达式的意思是将111...前面的任意字符替换掉。

#就是字符,不是正则表达式的关键字
$1是第一个分组

$1 代表捕获组 (.) 的捕获值

(.)\\1+ 捕获类似于一个字符重复出现2次以上,比如 aa bbb

Javascript 正则表达式巧用 Unicode 匹配特殊字符

本文写于 2015 年,整理文档的时候发现竟然曾经还写过技术文章,决定重新排版后发于知乎

首先声明,本文所有的代码都是使用 ES6 所写,ES5 需要修改之后才能运行,不过本文没有涉及到太多 ES6 新特性,并且由于 v8 (2015 年)不支持 u 修饰符,最后基本是用 ES5 的知识实现。

曾遇到过一个匹配特殊字符的需求,例如一段文本 'ab*cd$你好我也好]\\nseg$me*ntfault\\nhello,world',用户可以选择用 * 或者 $ 来分割字符串。

在 Javascript 中,$* 都是预定义的特殊字符,不能直接写在正则表达式中,需要转义,写成 /\\$/或者 /\\*/,我们需要根据用户选择的字符来生成正则表达式:

标签:

提交需求或反馈

Demand feedback