例如 string str=“a张三bc李四de五f”;
截取成 张三 李四 王五
4条回答 默认 最新
- codeaftercode 2021-08-12 08:59关注
正则表达式
(a1|a2|a3)(.*?)(b1|b2|b3)(c1|c2|c3)(.*?)(d1|d2|d3)(e1|e2|e3)(.*?)(f1|f2|f3)
说明:a,a2,a3表示张三的多种前缀字符串,b1,b2,b3表示张三的多种后缀字符串。如果还有更多的,加到括号里,中间用 | 分隔。
用 $数字 的形式截取匹配的项。数字按照括号出现的顺序计算。string str="a1张三b1c2李四d2e1王五f2"; System.out.println(str.replaceAll("(a1|a2|a3)(.*?)(b1|b2|b3)(c1|c2|c3)(.*?)(d1|d2|d3)(e1|e2|e3)(.*?)(f1|f2|f3)","$2 $5 $8"));
如果bc之间、de之间还有其他字符,可以把正则表达式改成这样:
(a1|a2|a3)(.*?)(b1|b2|b3).*(c1|c2|c3)(.*?)(d1|d2|d3).*(e1|e2|e3)(.*?)(f1|f2|f3)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示