/**
*
* @author Zen Johnny
* @date 2018年4月29日 下午4:51:08
*
*/
package demo.regex; import java.util.regex.Matcher;
import java.util.regex.Pattern; public class RegexGetDemo {
public static void getDemo(String string, String regex) {
//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()
}
} public static void main(String args[]) {
//将连续3个字母以上的单词提取出来
//提示:\b:单词边界;\B非单词边界
String string = "ming tian jiu yao fang jia la,da jia~";
String regex = "\\b[a-zA-Z]{3,}\\b";
getDemo(string,regex);
/*
ming
tian
jiu
yao
fang
jia
jia
*/
}
}

output

start:0 word:ming end:4
start:5 word:tian end:9
start:10 word:jiu end:13
start:14 word:yao end:17
start:18 word:fang end:22
start:23 word:jia end:26
start:33 word:jia end:36

Java SE之正则表达式四:获取的更多相关文章

  1. java se系列(四) 函数、数组、排序算法、二分法、二维数组

    1 函数 1.1  数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表 ...

  2. Java SE之正则表达式二:匹配

    package demo.regex; import java.util.regex.Pattern; /* 正则表达式:匹配 */ public class RegexMatchesDemo { / ...

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

    正则表达式 概念 定义:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号表示代码的操作,这样就简化了长篇的程序代码 好处:可以简化对字符串的复杂操作 弊端:符号定义越多,正则越 ...

  4. Java SE 第二十四讲----static与final使用陷阱关键字

    1.对于final类型成员变量,一般来说有两种赋值方式: a)在声明final类型的成员变量时就附上初值 package com.cl.staticandfinal; public class Fin ...

  5. Java SE之正则表达式六:匹配规则

    注释: 1.[]表示的字符集,不表示包含 ()表捕获和成组 Eg: 只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一 (qq|gmail|163){1}\.com 与 [(qq)|( ...

  6. Java SE之正则表达式五:切割

    /** * * @author Zen Johnny * @date 2018年4月29日 下午3:53:55 * */ package demo.regex; /* 正则表达式:切割 */ publ ...

  7. Java SE之正则表达式Demo

    @Test public void regex() {//匹配教务系统课程 // String content = "公共机座 (1-10)".replaceAll(" ...

  8. Java SE之正则表达式三:替换

    /** * * @author Zen Johnny * @date 2018年4月29日 下午4:31:07 * */ package demo.regex; public class RegexR ...

  9. 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)

    1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...

随机推荐

  1. HDU--5519 Sequence II (主席树)

    题目链接 2016年长春ccpc I 题 题目大意 : 给你n(n≤2∗105n≤2∗105)个数,每个数的大小 0<Ai≤2∗10^5   0<Ai≤2∗10^5. 再给你m(m≤2∗1 ...

  2. CSS修改滚动条样式

    <div class="qq_bottom">超出部分变滚动条</div> /*//滚动条整体部分*/ .qq_bottom::-webkit-scroll ...

  3. 洛谷P1196 银河英雄传说

    大意:你有30000个队列,第i个队列中只有i 有T个操作,1,把某个队列头接到另一个队列尾. 2,问两个元素之间的距离. 本题主要有三种解法. ①带权并查集. 具体来说就是,并查集维护当前集合的大小 ...

  4. PHP魔术方法大全

    十六个魔术方法详解如下 说明:PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __construct(),类的 ...

  5. Eclipse 在线安装properties编辑插件

    在eclipse中,如果在properties文件中写中文,会被自动保存成unicode编码,如lab.submitbutton=\u63d0\u4ea4.     这在查看properties文件时 ...

  6. linux系统调用之用户管理

    getuid 获取用户标识号 setuid 设置用户标志号 getgid 获取组标识号 setgid 设置组标志号 getegid 获取有效组标识号 setegid 设置有效组标识号 geteuid ...

  7. layer.open窗口自适应问题

    宽高度 area : ['100%', '100%']同时取消layer.full(index)就能自适应

  8. Unity 网络编程(Socket)应用

    服务器端的整体思路: 1.初始化IP地址和端口号以及套接字等字段: 2.绑定IP启动服务器,开始监听消息  socketServer.Listen(10): 3.开启一个后台线程接受客户端的连接 so ...

  9. (map string)Crazy Search hdu1381

    Crazy Search Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  10. M1-Flask-Day1

    前情概要 1.flask的基本使用 - 配置 - 路由 - 视图 - 请求与响应相关 - 模板 2.flask基于装饰器实现的路由 - 基本操作 - functools - 带参数的装饰器 - 源码剖 ...