java的正则实现需要先导入 java.util.regex。

java.util.regex 包主要包括以下三个类:

  • Pattern 类:

    pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
  • Matcher 类:

    Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
  • PatternSyntaxException:

    PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。
package java5;
import java.util.regex.*;
public class java5 {
//java实现正则表达式
public static void main(String[] args) {
String content = "I am Yang Jiang"; String pattern = ".*Jiang.*";//.号匹配任意字符,*匹配1个或多个 boolean isMatch = Pattern.matches(pattern, content);
System.out.println("包含了 'Jiang' ? " + isMatch);
}
}

Matcher 类的方法

索引方法

索引方法提供了有用的索引值,精确表明输入字符串中在哪能找到匹配:

序号 方法及说明
1 public int start() 返回以前匹配的初始索引。
2 public int start(int group) 返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引
3 public int end() 返回最后匹配字符之后的偏移量。
4 public int end(int group) 返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量。

查找方法

查找方法用来检查输入字符串并返回一个布尔值,表示是否找到该模式:

序号 方法及说明
1 public boolean lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配。
2 public boolean find() 尝试查找与该模式匹配的输入序列的下一个子序列。
3 public boolean find(int start****) 重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
4 public boolean matches() 尝试将整个区域与模式匹配。

替换方法

替换方法是替换输入字符串里文本的方法:

序号 方法及说明
1 public Matcher appendReplacement(StringBuffer sb, String replacement) 实现非终端添加和替换步骤。
2 public StringBuffer appendTail(StringBuffer sb) 实现终端添加和替换步骤。
3 public String replaceAll(String replacement) 替换模式与给定替换字符串相匹配的输入序列的每个子序列。
4 public String replaceFirst(String replacement) 替换模式与给定替换字符串匹配的输入序列的第一个子序列。
5 public static String quoteReplacement(String s) 返回指定字符串的字面替换字符串。这个方法返回一个字符串,就像传递给Matcher类的appendReplacement 方法一个字面字符串一样工作。

具体操作可自行查看菜鸟教程,匹配规则以及测试可以访问正则匹配

最新文章

  1. 清空Github上某个文件的历史版本
  2. Leetcode: Sudoku Solver
  3. Java 中包装类wrapped type之间以及和primitive type的比较
  4. MyBatis入门(五)---延时加载、缓存
  5. Quartus 软件的使用之PLL的使用
  6. 求平均排序MATLAB code
  7. 虚拟机安装Centos版本的linux
  8. Mac 10.10下安装MySQL5.6.21提示安装失败
  9. C++ 语法规则
  10. Nginx学习笔记六Nginx的模块开发
  11. html5获取用户当前的地理位置,即经纬度。
  12. kmp基础 ekmp
  13. 【R】用 ggplot2 绘制漂亮的分级统计地图
  14. 20181009-5 选题 Scrum立会报告+燃尽图 04
  15. JAVA Double去掉科学计数"E"
  16. 【leetcode 简单】第三十七题 相交链表
  17. 2018中国科大自主测试-B卷部分试题
  18. C语言 · 复数四则运算
  19. VMwareWorkstation与Device/CredentialGuard不兼容
  20. STL中mem_fun, mem_fun_ref用法

热门文章

  1. Redis 的完整安装过程
  2. 实验五 css进阶应用
  3. 多测师讲解内置函数 _format_高级讲师肖sir
  4. html学习(2)
  5. 【C语言程序设计】—最近超火的小游戏—【数字炸弹】!
  6. 分布式锁结合SpringCache
  7. swoft实现自动重启服务 转
  8. centos8平台:用fontconfig安装及管理字体(fc-list/fc-match/fc-cache)
  9. win8怎样才能启用administrator登录 别的用户也是如此
  10. 数据恢复软件推荐-easyrecovery绿色破解版(附注册码)免费下载