正则表达式小总结

原创 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);
}
}
}

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

工作中常用的正则表达式总结

在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。就当作笔记 1.基础 \d 匹配一个数字字符。等价于[0...
  • bwf_erg
  • bwf_erg
  • 2017年04月16日 20:19
  • 165

小程序:使用正则表达式去除字符串中的非数字元素

/**  * 使用正则表达式去除字符串中的非数字元素  *使用替换方法  */ public class NumberPattern { public static void mai...
  • zhyzh134
  • zhyzh134
  • 2016年02月28日 20:45
  • 251

javascript 正则表达式测试小程序

备忘只用,代码不完全,没引用xiang
  • yemaozi2009
  • yemaozi2009
  • 2014年06月11日 17:27
  • 1190

关于微信小程序的一点个人总结

个人对微信小程序开发的一点见解,目前主要写了:微信小程序和H5的区别、微信小程序开发注意事项微信小程序和H5的区别。...
  • dark_gmn
  • dark_gmn
  • 2017年05月05日 16:03
  • 569

小学期总结

小学期已经度过了两个星期,感觉每天都是无所事事,要么就是想着泡妞,要么就是玩LOL。永远都是心怀鸿鹄之志,身行燕雀之行,人生没有目标,有了目标不能坚持,不能吃苦,贪图享乐,不爱思考。 接下来的日子一...
  • qq_35312027
  • qq_35312027
  • 2016年08月28日 21:13
  • 153

正则表达式小总结

1 数字:^[0-9]*$  2 n位的数字:^\d{n}$  3 至少n位的数字:^\d{n,}$  4 m-n位的数字:^\d{m,n}$  5 零和非零开头的数字:^(0|[1-9][0...
  • u013240543
  • u013240543
  • 2015年04月08日 21:16
  • 422

利用正则表达式抓取网页上邮箱的小程序

使用方法:把自己在网上保存下来含有邮箱的网页所在硬盘的路径,拷到对应位置即可,此程序用eclipse-luna-64位测试已通过 程序最终来源为马上兵老师发布的视频及源码,本人是用来学习,并和大家分享...
  • rainHistory
  • rainHistory
  • 2017年03月16日 16:12
  • 377

js正则表达式学习和总结

js正则表达式的相关学习和总结
  • liujie19901217
  • liujie19901217
  • 2016年04月22日 21:22
  • 5743

正则表达式常用知识点总结

正则表达式 : ① 利用某种模式去匹配一类字符串的公式, ② 所有的字符串或数组的处理都可以使用正则进行简化处理 var str = 'dsdfdgg545fdf'; 纯文本、字符 ...
  • huangyibin628
  • huangyibin628
  • 2014年05月01日 23:13
  • 1025

【微信小程序教程】——input正则表达式验证的使用

【微信小程序教程】——input正则表达式验证的使用
  • FutrueJet
  • FutrueJet
  • 2016年11月17日 10:53
  • 12574
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式小总结
举报原因:
原因补充:

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