正则表达式

阅读更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/* ******************  类说明  *********************
 * class       :  RegTest
 * @author     :  ncc
 * create time :  2017-12-6 下午07:26:48
 * @version    :  1.0  
 * description :  正则表达式
 * @see        :                        
 * ************************************************/   
public class RegTest {

	/**常用符号
		.		表示任意一个字符
		\s		空格字符(空格键, tab, 换行, 换页, 回车)
		\S		非空格字符([^\s])
		\d		一个数字,(相当于[0-9] )
		\D		一个非数字的字符,(相当于[^0-9] )
		\w		一个单词字符(word character) (相当于 [a-zA-Z_0-9] )
		\W		一个非单词的字符,[^\w]
		^		一行的开始
		$		一行的结尾
		\b		一个单词的边界
		\B		一个非单词的边界
		\G		前一个匹配的结束
		[]		匹配方括号内的一个字符
				例如:[abc] 表示字符 a,b,c 中的任意一个(与 a|b|c 相同)
		[a-zA-Z] 表示从 a 到 z 或 A 到 Z 当中的任意一个字符
		[a-z] 表示从 a 到 z当中的任意一个字符
		[A-Z]  A 到 Z 当中的任意一个字符
		[\u4e00-\u9fa5] 表示中文
		[^\u4e00-\u9fa5] 表示非中文
		[^\\x00-\\xff] 表示双字节字符
		[\\x00-\\xff] 表示单字节字符
	*/
	/**表示次数的符号
		*		重复零次或更多次
				例如:a* 匹配零个或者多个 a
		+		重复一次或更多次
				例如:a+ 匹配一个或者多个 a
		?		重复零次或一次
				例如:a? 匹配零个或一个 a
		{n}		重复 n 次
				例如:a{4} 匹配 4 个 a
		{n,}	重复 n 次或更多次
				例如:a{4,} 匹配至少 4 个 a
		{n,m}	重复 n 到 m 次
				例如:a{4,10} 匹配 4~10 个 a
	 */
	public static void main(String[] args) {
		// 校验邮箱
		Pattern pattern = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
		Matcher matcher = pattern.matcher("[email protected]");
		System.out.println(matcher.matches());
		// 校验身份证号
		System.out.println("13569819760238115x".matches("^(\\d{18,18}|\\d{15,15}|\\d{17,17}[x|X])$"));
		// 校验非中文( 0-128位)
		System.out.println("aA123!@#$%^&*".matches("[^\u4e00-\u9fa5]{0,128}"));
		// 匹配双字节字符(包括汉字在内):[^\\x00-\\xff]
		System.out.println("哈哈哈哈".matches("[^\\x00-\\xff]*"));
		// 匹配单字节字符(包括汉字在内):[^\x00-\xff]
		System.out.println("aA123!@#$%^&*".matches("[\\x00-\\xff]*"));
		// 匹配网址
		System.out.println("http://decao.iteye.com/".matches("[a-zA-z]+://[^\\s]*"));
	}

 

 

你可能感兴趣的:(正则,双字节字符,中文,邮箱,正则表达式)