JAVA和JS字符串每4个字符添加空格
一.JS实现方法
'701f3orma43tN5umb6er044567'.replace(/\s/g, '').replace(/(\w{4})(?=\w)/g, '$1 ')
结果: 701f 3orm a43t N5um b6er 0445 67
详细解释
replace(/\s/g, '')
\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。 将空白字符调换为空字符串
replace(/(\w{4})(?=\w)/g, '$1 ')
将字符串前面符合条件的4个字符替换为4个字符和空格
$1的意思
示例
1、引用 9 ,是通过 RegExp 来的,而不是新建立的RegExp对象名;
2、你创建的正则对象,被括弧括起来的部分,从左到右,依次是9 ,
这说明,没有括弧,你也甭想通过,RegExp.9,拿到任何东西;
下面例子是从javascript帮助文档摘抄的:
function matchDemo(){
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 contains: " + RegExp.$1 + "\n";//$1 contains: bB
s += "$2 contains: " + RegExp.$2 + "\n";//$2 contains: d
s += "$3 contains: " + RegExp.$3;//$3 contains:
return(s);
}
详细解释
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
在上面的正则的意思是匹配"db(一次或多次,忽略大小写)d"的字符串,匹配执行之后,匹配出来的数据是: c dbBd bsb dbd z中的dbBd和dbd$数字内容是从第一个匹配的字符串中取出的,此时第一个匹配的字符串为"dbBd"
2对应的是第二个括弧中的(d),d
$3没有,空。
?=、?<=、?!、?<! 的使用区别
exp1(?=exp2):查找 exp2 前面的 exp1。
(?<=exp2)exp1:查找 exp2 后面的 exp1。
exp1(?!exp2):查找后面不是 exp2 的 exp1。
(?<!exp2)exp1:查找前面不是 exp2 的 exp1。
二.JAVA实现方法
"shjfhjskjfhjskdfhlskdfhls ".trim().replaceAll("(.{4})", "$1 ")
结果:shjf hjsk jfhj skdf hlsk dfhl s
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端