Regex 字符组

1.字符组Character Class
  a.正则表达式的最基本结构之一。
  b.作用:规定某个位置能够出现的字符。
  c.形式:以【[...]】给出,在方括号内列出允许出现的字符。
2.以连字符‘-’表示范围
  [0123456789]=[0-9]
  [0-789]=[0-9]
  [0123456789abcdef]=[0-9a-f]
3.关于连字符的注意事项
  注意:在字符组内部,只有当连字符出现在两个字符之间时,才能表示字符的范围;
        如果出现在字符组的开头,则只能表示单个字符‘-’
4.排除型字符组
  a.作用:规定某个位置不容许出现的字符
  b.形式:以[^...]给出,在方括号内列出不容许出现的字符。

  c.排除型字符组仍然必须匹配一个字符。------>重点!!!

/**
 * ^排除型字符组仍然必须匹配一个字符
 * */
public class NegativeCharacterClassMind {

	public static void main(String[] args) {
		String[] strings = new String[] { "case", "casa", "caso", "cas" };

		String regex = "cas[^e]";//排除型字符组仍然必须匹配一个字符

		for (String s : strings) {
			if (regexMatch(s, regex)) {
				System.out.println("\"" + s + "\" can be matched with regex \""
						+ regex + "\"");
			} else {
				System.out.println("\"" + s
						+ "\" can not be matched with regex \"" + regex + "\"");
			}
		}

	}

	public static boolean regexMatch(String s, String regex) {
		return s.matches(regex);
	}

}


  e.^在[]里面的第一个字符的意思是取反
    ^其他代表一行的开头。
5.字符组简记法
  对于常用的字符组,正则表达式提供了相应的简记法,方便地表示它们。
  \d=[0-9]
  \D=[^0-9]
  \w=[0-9a-zA-Z_]
  \W=[^0-9a-zA-Z_]
  \s=匹配空白字符(回车、换行、制表、空格)
  \S=匹配非空白字符
6.特殊的简记法:点号
  a.点号.是一个特殊的字符组间记法,它可以匹配几乎所有字符
  b.\.匹配点号本身
  c.在字符组内部,[.]也只能匹配点号本身

  注意:点号不能匹配换行符。(默认是匹配模式是点号是可以匹配换行符的)

/**
 * 注意:点号不能匹配换行符。
 * */
public class DotMatchMind {
	public static void main(String[] args) {
		
		String dot = ".";
		
		String lineFeed = "\n";
		
		if(regexMatch(lineFeed, dot)) {
			System.out.println("Dot can match LineFeed");
		}
		else {
			System.out.println("Dot can not match LineFeed");
		}
		

	}
	
	public static boolean regexMatch(String s, String regex) {
		return s.matches(regex);
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值