正则分组和边界匹配

原创 2013年12月04日 09:50:14

测试匹配整个字符串,然后找出符合字符串当中匹配子正则表达式的子字符串

 

例如:匹配只有3到5个数字,只有两个

 

public class Fenzu {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
		String s = "123aa-3434bb-234ccc-00";
		Matcher m = p.matcher(s);
		//分组查找是找出满足全部正则表达式的条件中之后再进行“局部”筛选
		while(m.find()){
			System.out.println(m.start());
		//打印出满足p模式中的分组1——只有数字
			System.out.println("符合3到5个数字 第一个分组:" + m.group(1));
			System.out.println("符合有两个字母的 第二个分组: " + m.group(2));
			System.out.println(m.end());
		}
	}
}

 

 

边界小Demo

 

public class boundaryTest {
	public static void main(String[] args) {
		//以h开头的字符
		out("help sir".matches("^h"));
		//以h开头的字符串
		out("hello sir".matches("^h.*"));
		//表示以ir结尾的字符串
		out("hello sir".matches(".*ir$"));
		//\b表示的是单词之间的空格
		out("hello sir".matches("^h[a-z]{1,3}o\\b.*"));
		out("hellosir".matches("^h[a-z]{1,3}o\\b.*"));
	}
	public static void out(Object o){
		System.out.println(o);
	}
}

 

相关文章推荐

java 正则(1) 初步认识 / 中括号表范围 / 预定义字符类\s \w \d / 边界匹配 / 几个正则的例子 / 竖线是或者 / 中括号里加上尖号是非

java 正则 package test.java.RegExp; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
  • nx188
  • nx188
  • 2016年01月08日 18:56
  • 1821

正则之\b单词边界

1        概述 “\b”匹配单词边界,不匹配任何字符。 “\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“\b”是零宽度的。 基本...

正则基础之"/b"单词边界

正则基础之"/b"单词边界详述~

正则基础之--/b单词边界

1 概述 “/b”匹配单词边界,不匹配任何字符。 “/b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“/b”是零宽度的。 基本...

写正则匹配的工具

  • 2015年12月18日 16:52
  • 4.73MB
  • 下载

删除多项正则匹配的文件

  • 2015年12月12日 15:18
  • 121KB
  • 下载

强调在正则中只要单纯用了括号就会有捕获分组保存

例子1import java.util.regex.Pattern; import java.util.regex.Matcher;public class pa14{ public stat...

正则匹配规则

  • 2013年08月05日 14:12
  • 2KB
  • 下载

RegExBuilderSetup正则匹配工具

  • 2012年11月07日 08:37
  • 409KB
  • 下载

python_12(查找字符串、字符串查找、时间转换、正则、限定符、分组)

——————–查找字符串———————–#!/usr/bin/python # -*- coding: UTF-8 -*-# 查找字符串 sentence = "This is a apple." p...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则分组和边界匹配
举报原因:
原因补充:

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