/**
*
* @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. Ubuntu Server 18.04 网络设置不生效的解决

    在Ubuntu18.04中,传统的配置/etc/network/interfaces已无用https://www.cnblogs.com/dunitian/p/6658578.html 新方法:修改 ...

  2. 编写高质量代码:改善Java程序的151个建议 --[65~78]

    编写高质量代码:改善Java程序的151个建议 --[65~78] 原始类型数组不能作为asList的输入参数,否则会引起程序逻辑混乱. public class Client65 { public ...

  3. a超链接设置样式

    /* divcss5对象内 a超链接设置样式 */ .divcss5 a:link{ color:#F00}/* 链接默认为红色 */ .divcss5 a:hover{ color:#000}/*  ...

  4. js 时间日期格式转换

    Date.prototype.Format = function(formatStr) { var str = formatStr; var Week = ['日', '一', '二', '三', ' ...

  5. HDU/HDOJ 2087 剪花布条

    KMP裸题 (极限5分钟A题) /** freopen("in.in", "r", stdin); freopen("my.out", &q ...

  6. long long

    1. ll a; scanf("%d",&a); 数据读入后,产生错误 2. const ll inf=1e18; 3. int * ll = ll ll * int = ...

  7. python爬虫获取图片

    import re import os import urllib #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url): page = urllib. ...

  8. FFT的一种迭代实现

    struct Complex { double x,y; Complex(double x1=0.0 ,double y1=0.0) { x=x1; y=y1; } Complex operator ...

  9. CRT和EXCRT学习笔记

    蒟蒻maomao终于学会\(CRT\)啦!发一篇博客纪念一下(还有防止忘掉) \(CRT\)要解决的是这样一个问题: \[x≡a_1​(mod m_1​)\] \[x≡a_2​(mod m_2​)\] ...

  10. Yii2的mongodb的聚合操作

    最近项目使用到mongodb的聚合操作,但是yii文档中对这方面资料较少,记录下 $where['created_time'] = ['$gt' => "$start_date_str ...