java必刷题——正则表达式
2021/6/26 22:56:56
本文主要是介绍java必刷题——正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目
需求分析
解题思路
- 获取用户输入的 需矫正字符总数;
- 根据用户输入的 总数 对错误字符进行矫正;
技术栈
java正则表达式
代码实现
package OpenClosedPrinciple; import java.util.Scanner; /** * ClassName: OpenCloseTest <br/> * Description: <br/> * date: 2021/6/19 20:56<br/> * * @author yiqi<br /> * @since JDK 1.8 */ public class OpenCloseTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //1、获取用户输入的 需矫正字符 总数 int num = scanner.nextInt(); //2、根据用户输入的 总数 对错误字符进行矫正 for (int i=0; i< num; i++){ String inValue = scanner.next(); String retValue = inValue.replaceAll("(.)\\1+","$1$1").replaceAll("(.)\\1(.)\\2","$1$1$2"); System.out.println(retValue); } } }
代码思路很简单,唯一难点是这个正则表达式,下面我就为大家简单介绍一下,java中正则表达式的含义:
"(.)\\1+","$1$1":
- . 表示匹配所有字符
- ()表示捕获匹配字符
- 第一个 \ 表示转义 于是 大家最后看到的结果是 \1,那这个 \1 表示 \1 所在位置的字符和第一个(.)匹配的字符相同,例如:AA 就会被匹配上。即第一个A对应(.),第二个A对应 \1
- $1 表示用 第一个(.)匹配的字符来替换所匹配到的字符
大家把 正则表达式 理解了,后面可就太简单了
这篇关于java必刷题——正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)