正则表达式在js和java中如何使用

正则表达式在js和java中如何使用

1.在js中

1.1 Search()方法(字符串方法)

search()方法用来查找字符串中匹配的子字符串或符合正则表达式的子字符串,并返回子字符串的起始位置。

var str="www.baidu.com";
var reg = "baidu";
var reg2 = "[com]{1}";
var regExp=new RegExp(reg);
var regExp2=new RegExp(reg2);
console.log(str.search(regExp));
console.log(str.search(regExp2));

运行结果

image-20201203100757311

1.2 replace()方法(字符串方法)

replace()方法用来在字符串中将一些字符串替换成另一些字符串,或者替换成一个与正则表达式匹配的字串。

		var str="www.baidu.com";
		var reg = "baidu";
		var reg2 = "[com]+"
		var regExp=new RegExp(reg);
		var regExp2=new RegExp(reg2);
		console.log(str.replace("baidu","google"));
		console.log(str.replace(regExp2,"cn"));

运行结果

image-20201203103407827

1.3 test()方法(正则表达式方法)

test()方法用于检测一个字符串是否匹配某一个正则表达式,如果字符串中含有匹配的文本就返回true,否则返回false。

		var str="www.baidu.com";
		var reg2 = "^[a-z]{3}[\.]{1}[a-z]+[\.]{1}[a-z]{2,}$"
		var regExp2=new RegExp(reg2);
		console.log(regExp2.test(str));

运行效果

image-20201203111924956

1.4 exec()方法(正则表达式方法)

exec()方法用于返回字符串中符合正则表达式的匹配;

		var str="www.baidu.com";
		var reg2 = "^[a-z]{3}[\.]{1}[a-z]+[\.]{1}[a-z]{2,}$"
		var regExp2=new RegExp(reg2);
		console.log(regExp2.exec(str));

运行效果

image-20201203112852558

返回的是一个数组,如果要是一个字符串可以加个regExp2.exec(str)[0];

在java中

2.1 matches()方法

matches()方法用来监测字符串是否符合某一正则表达式。返回布尔类型

        String regx="^[a-z]{3}[\\.]{1}[a-z]+[\\.]{1}[a-z]{2,}$";
        Pattern pattern=Pattern.compile(regx);
        String str="www.baidu.com";
        Boolean flag=Pattern.matches(regx,str);
        System.out.println(flag);

运行效果

image-20201203114155337

2.2、find()方法

find()用来查找下一个匹配的子序列;下面这个是方法上的注释。当且仅当输入序列的子序列匹配此匹配器的模式时,才返回true.image-20210105152036724

2.3、 group()方法

group()返回匹配的子字符串,前提是必须调用一次matcher.find()方法找一次。

        String regx="[0-9]";
        Pattern pattern=Pattern.compile(regx);
        String str="ljj54kjk545";
        StringBuffer strRe=new StringBuffer();
        Matcher matcher=pattern.matcher(str);
        // 全局
        while (matcher.find()){
//            strRe.append(str,matcher.start(),matcher.end());
            strRe.append(matcher.group());
        }
        System.out.println(strRe.toString());

运行效果

image-20201203114957859

这个代码循环返回了所有数字,后组成一个字符串

参考资料

菜鸟教程

posted @ 2020-12-03 11:56  飞刀寻欢  阅读(557)  评论(0编辑  收藏  举报
……