正则表达式小总结

原创 2015年07月07日 14:07:54

正则表达式主要是两点

1 符号

2 规则

熟练了以后可以发挥巨大的威力 有时候感觉就像一把沾了毒的匕首 虽然小 但是非常可怕


分为:匹配 切割 替换 获取 分组来记忆这两点

说一下一些思路上的要点:

1 正则表达式是字符串 (总在“”内)

2 一个方括号代表一个位置 方括号里面的内容代表这个位置允许出现的情况

3 方括号里面也可以有方括号 这个规则与&&连用 可以表示交集 当然 ||符号被啥也没有替代了(也就是说 只要挨着写就是||的意思 意思是并集)

4 数字 单词字符等有预定义字符类 不用写一大串就能表示相同的意思

5 切割的规则是按照xx来切割 而这个xx就是正则表达式要表达的内容

6 默认一套完整的最小有意义的单元为一个组 编号从1开始 通过()可以自定义组生效的范围 通过\+数字可以获取对应组的规则并重复使用

7 取和切是反向操作 取很麻烦 要先创建对象(规则对象) 再通过match()方法将规则跟目标字符串关联获得特定的匹配器 最后调用匹配器中的matches()方法得到结果

8 熟练最重要 仅仅记住是完全不够的


例子:

/*
需求:
按照ip地址段的顺序排序
192.68.1.254
102.49.23.13
10.10.10.10
2.2.2.2
8.109.90.30


*/


import java.util.regex.*;
import java.util.*;


class RegexTest2  //这么经典 这么综合 我只想说!背也要背住!
{
public static void main(String[] args) 
{
String ip = "192.68.1.254 102.49.23.13 10.10.10.10 2.2.2.2 8.109.90.30";


String str1 = ip.replaceAll("(\\d+)","00$1");
String str2 = str1.replaceAll("0*(\\d{3})","$1");


String[] arr = str2.split(" ");


TreeSet<String> ts = new TreeSet<String>();


for (String s : arr )
{
ts.add(s);
}


for (String s : ts )
{
sop(s.replaceAll("0*(\\d+)","$1"));
}
}

public static void printchararr(char[] arr)
{
for (int i = 0; i<arr.length; i++)
{
sop(arr[i]);
}
}


public static void sop(Object obj)
{
System.out.println(obj);
}


public static void printstringarr(String[] arr)
{
for (String s : arr)
{
sop(s);
}
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

正则表达式总结

  • 2014年05月14日 17:57
  • 29KB
  • 下载

Java正则表达式总结

  • 2012年08月15日 14:43
  • 2KB
  • 下载

ELK中logstash下的grok正则表达式总结

首先,我的web项目打印的日志是这样的: 2016-11-30 11:10:44,568 INFO [org.springframework.web.servlet.DispatcherServlet...

Ext 常用正则表达式总结

  • 2012年09月25日 16:06
  • 17KB
  • 下载

Java正则表达式应用总结

  • 2013年10月23日 13:23
  • 160KB
  • 下载

asp.net mvc Model验证总结及常用正则表达式

关于Model验证官方资料: http://msdn.microsoft.com/zh-cn/library/system.componentmodel.dataannotations.aspx  ...

正则表达式语法总结

  • 2013年03月23日 16:19
  • 486KB
  • 下载

JAVA 正则表达式总结

  • 2016年02月11日 15:16
  • 795KB
  • 下载

正则总结:JavaScript中的正则表达式

定义 在javascript我们可以通过内建的类来定义一个正则表达式。 var reName = new RegExp("nowamagic"); 实际上RegExp类的构造函数可以接受两个参数,...

C# 正则表达式总结_V2

  • 2016年02月15日 17:04
  • 682KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式小总结
举报原因:
原因补充:

(最多只允许输入30个字)