【RE】regular expression

30 篇文章 0 订阅
13 篇文章 0 订阅

1、regex语法:

编辑工具 : regexRuddy 

e-mail: ([\w-]+)@([\w-]+)(\.[a-zA-Z]{2,5}){1,2}

电话: (0\d{2,3}-\d{7,8})|(1[34568]\d{9}) 

 

去除首尾空格: String str = " abc ".replaceAll("(^\\s+)|(\\s+$)","");


零宽断言:(?=pattern) 正向肯定预查,非获取匹配,可将大量有规则的数据提取出来


2、Java中使用正则表达式


public class re {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("(\\d{4})([a-z]{2})");
		Matcher m = p.matcher("abcdefgh1234fdd5678dfadf");
		
		//System.out.println(m.matches()); //匹配整个目标字符串
		//System.out.println(m.find()); 

		List<String> list = new ArrayList<String>();
		
		while(m.find()){
			System.out.println(m.group(0));
			System.out.println(m.group(1));
			System.out.println(m.group(2));
			list.add(m.group());
		}
		
		String [] str = "abcd2efgh4".split("\\d+");
		for(int i=0;i<str.length;i++)
			System.out.println(str[i]);		
	}
}


3、javascript中使用正则表达式

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<script>

	String.prototype.trim = function(){  //去除空格
		return this.replace(/(^\s+)|(\s+$)/g,"");
	}
	
	function testRegex(){
		//var re = /\d{4}/g;
		//var r2 = new RegEx("\\d{4}","g");
		
		var re = new RegExp("(\\d{2})([a-z]{2})","ig");
		//var result = re.exec("33dd44ff2fd888oo");
		//alert(result);
		alert(re.test("3333ff2ddd"));
	}
	
	function check(testform){
			var username = testform.username.value.replace(/(^\s+)|(\s+$)/g,"");
			var flag = true;
			document.getElementById("usermsg").innerHTML="";
			if(username.length==0){
				document.getElementById("usermsg").innerHTML="用户名不能为空!";
				flag = false;
			}else{
				if(!(/^\w+$/.test(username))){
					document.getElementById("usermsg").innerHTML="用户名必须是:字母、数字、下划线!";
					flag = false;
				}
			}
			return flag ;
	}
	
</script>
</head>
<body>
	<input type="button" value="测试正则" οnclick="testRegex();" />
	<form action="testform.jsp" name="testform" οnsubmit="return check(this);">
		用户名:<input type="text" name="username" /><span id="usermsg"></span><br />
		<input type=submit value=提交 />
	</form>
</body>





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值