• Java SE之正则表达式一:概述


    正则表达式

    概念

    • 定义:符合一定规则的表达式

    • 作用:用于专门操作字符串

    • 特点:用于一些特定的符号表示代码的操作,这样就简化了长篇的程序代码

    • 好处:可以简化对字符串的复杂操作

    • 弊端:符号定义越多,正则越长,阅读性越差

    关键类

    • String
    • Pattern:正则类对象
    • Matcher:通过解释Pattern对character sequence执行匹配操作的引擎类。(匹配器)

    具体操作功能

    匹配:返回是否与规则匹配的布尔值
    1 String:
    	boolean string.matches(String regex)
    2 Pattern + Matcher:
    	Pattern pattern.compile(String regex)
      	Matcher pattern.matcher(String regex) 
      	boolean matcher.matches()
    3 Pattern
    	boolean b = Pattern.matches(String regex, String string)
    
    切割:返回符合规则以外的字符串
    1 String:String[] split(String regex)
    2 String:String[] split(String regex, int limit)
    
    > 为了让规则的结果被重用,可以让规则封装成一个组,用()完成。组的出现都有编号:
    	从1开始想要使用已有的组可以通过格式: + 组序号
    	Eg:以叠词作为分隔符号,切隔字符串:(.)1+
    	Eg:		(X(Y(Z)))(M)
    	   	组号:1 2 3    4	
    
    替换:返回被规则替换的字符串
    1 String:String replaceAll(String regex, String replacement):regex-
    
    2 String:String replaceFirst(String regex, String replacement):replacement-$n
    3 Pattern + Matcher:
    	Pattern pattern.compile(String regex)
      	Matcher pattern.matcher(String regex) 
      	-------------------------------------
      	String matcher.quoteReplacement(String s)
      	String matcher.replaceAll(String replacement)
      	String replaceFirst(String replacement) 
    
    获取:将字符串中的规则的子串取出
    将正则表达式封装成对象;让正则表达式和要操作的字符串相关联;关联后,获取正则匹配引擎;通过引擎对符合规则的子串进行操作,如:取出
    1 	//step1:将规则封装成对象
    	Pattern pattern = Pattern.compile(regex);
    	
    	//step2:让正则对象和要提取的字符串相关联,获取匹配(器)引擎对象
    	Matcher matcher = pattern.matcher(string);
    	
    	while(matcher.find()) {//不断地利用正则引擎查找符合正则表达式的对象,找到:true;没有找到:false
    		System.out.println("start:" + matcher.start() + " word:" + matcher.group() + " end:" + matcher.end());//返回当前查找到的一个子串,并返回其单词的开始start()与结束区间end()
    	}
    

    参考文献

    [黑马程序员_毕向东_Java基础视频教程第25天](http://www.huahuionline.com/MainCtrl?page=ShowLessonDetailPage&lesson_id=56c1838945ceb61ab5246f3d&cNo=1)
  • 相关阅读:
    java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息
    java练习题:输出100以内与7有关的数、百马百担、打分(去掉最高、最低分)、二分法查找数据、输出直角三角形、正三角形
    MD5加密算法(转)
    Ajax中的局部事件与全局事件
    Ajax实现全国省市三级联动
    关于Cookie中存放于读取中文字符的问题,以及删除Cookie
    JavaScript中的自定义对象以及实现继承特性
    JavaScript中的变量范围以及闭包的概念
    JavaScript全局函数
    Servlet监听器(转)
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/8971416.html
Copyright © 2020-2023  润新知