正则表达式随笔

刷题过程中遇到的这类问题--字符串匹配问题,解决起来简单多了。总结的不多,以后补充吧。知识面太窄了。

题目:读入数据string[ ],然后读入一个短字符串。要求查找string[ ]中和短字符串的所有匹配,输出行号、匹配字符串。匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。如“aa[123]bb”,就是说aa1bb、aa2bb、aa3bb都算匹配。

例如:输入  4

Aab

a2B

ab

ABB

a[a2b]b

输出:

1 Aab

2 a2B

4 ABB

代码:

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Main {

public static void main(String[] args) {

Scanner sc= new Scanner(System.in);

while(sc.hasNext()){

int n = sc.nextInt();//获取输入字符串的个数

String arr[] = new String[n];//创建数组

for(int i =0;i<n;i++) arr[i] = sc.next();//将输入的字符串写如数组arr中

Pattern p = Pattern.compile(sc.next(),Pattern.CASE_INSENSITIVE);//正则表达式,第一个参数设置匹配的格式,第二个参数为不区分大小写。返回给一个Pattern对象P;

for(int i=0;i<n;i++){

Matcher m = p.match(arr[i]);//将数组中的内容与正则表达式进行匹配

while(m.matchers()){

System.out.println((i+1)+" "+arr[i]);//将满足条件的行 以及字符串输出

}

}

正则表达式内容补充:http://www.cnblogs.com/playing/archive/2011/03/15/1984943.html

我也是看了他的详细讲解才懂了~写的很详细

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //正则表达式: 在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些...
    说一句话介绍自己阅读 298评论 0 1
  • 1.正则表达式介绍 正则表达式算起来也是一个很庞大的语言系统,在所有的开发语言中基本都支持正则表达式,它可以很方便...
    babybus_superdo阅读 2,593评论 3 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,048评论 0 13
  • 壹 2017.1.18:开始在“简书”写第一篇文章,至今共写了24篇,平均8篇/月,这个写作量还是有些出乎我的意料...
    正经胡说Ricky阅读 401评论 4 4