**
正则表达式的作用及其使用
**
正则表达式,又称规则表达式,常被用来检索、替换那些符合某个模式(规则)的文本。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
下面分别举例说明正则表达式如何达到这两个目的:
1.语法判断:输入一个QQ号,匹配其是否符合规则。
QQ号是从10000开始的,所以对其进行匹配可以用"[1-9][0-9]{4,}",其中,"[]"代表区间,[1-9]代表匹配区间1-9之间的单个字符,[0-9]代表匹配区间1-9之间的单个字符,{4,}表示匹配前一个格式(这里为[0-9])4次及4次以上。其java实现如下:
public static void main(String[] args) {
String s = "1978511949";//任意一个QQ号
Pattern p = Pattern.compile("[1-9][0-9]{4,}");
Matcher mc = p.matcher(s);
System.out.print("匹配结果:"+mc.find());//如果匹配成功,mc.find()返回true
}
运行结果:
2.获取一个字符串中的指定部分:
例如,获取字符串"https://editor.csdn/md?articleId=106198769"中的数字部分"106198769”可以用"[0-9]+",其中,[0-9]上面已经讲过,代表匹配区间0-9之间的单个字符,"+“表示匹配前一个格式(这里为区间[0-9]之间的一个字符)0到n次,类似地,”*"表示匹配1到n次。
java中的实现为:
public static void main(String[] args) {
String s = "https://editor.csdn/md?articleId=106198769";
Pattern p = Pattern.compile("[0-9]+");
Matcher mc = p.matcher(s);
if(mc.find())
System.out.print(mc.group());
}
运行结果如下:
以上就是正则表达式的作用及其使用。
要实现上述功能,最核心的部分就是构造正则表达式,这就需要掌握正则表达式的语法,语法内容很多,这里就不细致展开了。下面是两个很好的学习正则表达式语法的资源链接:
正则表达式 - 语法
史上最全正则表达式语法,文末附常用表达式!
更多推荐
正则表达式的作用及其使用
发布评论