加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 19:39:33 所属栏目:百科 来源:网络整理
导读:正则表达式 符合一定规则的表达式。 具体操作功能 1.匹配:String matches方法。用正则表达式匹配字符串,只要有一处不符合规则,就匹配结束,返回false 2.切割:String split (); 3.替换:String replaceAll (); 4.获取: 将字符串中大的负荷规则的子
正则表达式
符合一定规则的表达式。

具体操作功能
1.匹配:String matches方法。用正则表达式匹配字符串,只要有一处不符合规则,就匹配结束,返回false
2.切割:String split ();
3.替换:String replaceAll ();
4.获取: 将字符串中大的负荷规则的子串取出
获取操作步骤:
1.将正则表达式封装成对象。
2.让正则对象和要操作的字符串相关联。
3.关联后,获取正则匹配引擎。
4、通过引擎对负荷规则的子串进行操作,比如取出。
正则表达式中的符号:
1.表示反斜杠:
2.表示.:.
3.表示组第几组:n
4.取第几组的值:$n
5.表示字母:[a-zA-Z]
6.表示数字:[0-9] d
7.表示单词字符:w [a-zA-Z0-9]
8.空白字符:s " "
9.非单词字符:W [^w]
10.非数字字符:D [^d]
11.非空白字符:S
12.边界匹配^ $ b B

“b”匹配单词边界,不匹配任何字符。

“b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“b”是零宽度的。
基本上所有的资料里都会说“b”是单词边界,但是关于“单词”的范围却是少有提及。通常情况下,正则表达式中所谓的“单词”,就是由“w”所定义的字符所组成的子串。
1.校验QQ号码
public void checkQQ(String qq)
{
String reg="[1-9]d+{4,14}";
boolean flag=qq.matches(reg);
if(!flag)
System.out.println("QQ号非法");
else
System.out.println("OK");
}
2.校验手机号码
public void checkPhone(String num)
String reg="1[358]d+";
boolen flag=num.matches(reg);
System.out.println("手机号非法");
System.out.println("OK");
3.校验邮箱
public void checkMail(String mail)
String reg="[a-zA-Z0-9_]+@[a-zA-z]+(.[a-zA-Z]){1,3}";
boolean flag=mail.matches(reg);
System.out.println("邮箱地址非法");
4.替换叠词
public void removeSame(String str)
str=str.repalceAll("(.)+",$1);
5.网页爬虫
String addr="www.baidu.com";
URL url=new URL(addr);
URLConnection conn=url.open();
BufferedReader bufIn=new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line=null;
while((line=bufIn.readLine())!=null)
Pattern p=Pattern.compline(reg);
Matcher m=p.matcher(line);
while(m.find())
System.out.println(m.getGroup());
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读