正则表达式是干什么的?正则表达式的基本语法
本篇文章给大家谈谈正则表达式是干什么的,以及正则表达式的基本语法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
什么是正则表达式
正则表达式,又称规则表达式。是计算机科学的一个概念。
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
扩展资料
正则表达式的作用:
1、匹配
检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:
String str="abc";
String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有boolean flag=str.matches(reg);//返回结果为true。
2、切割
所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:
String str="zhangsan,lishi,wangwu"。
String reg=",";//表示以逗号作为切割符。
String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}。
3、替换
即将字符串中符合规则的字符替换成指定字符,如:
String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。
str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。
参考资料来源:百度百科-正则表达式
正则表达式相关 一个正则式,求解释。
这两个式子是不一样的,思维发散下,整两个都是肯定顺序环视结构,匹配一个位置,但是仅仅是匹配位置的话,那么我们就不好测试,为了测试方便,我们去掉(?=)只来关注(\d{3}+)和((\d{3})+)有什么不一样,这样我们就很快能理解了:
\d{3}+可以匹配:
所以知道\d{3}+和\d{3}是一样的
但是(\d{3})+可以匹配333、333333、但是不能匹配333335,由此可见+号前的括号的作用了
希望对你有用
下面这一段正则表达式应该怎样解读
^(https?:\/\/)?-----行首的(https?:\/\/)可有可无,但?:\/\/是什么意思呢?
\/\/表示"//"即匹配https://,因为整个正则是用两个/作为边界的,如果不将/用\/转义,那么/会作为正则结束的标记
([\da-z\.-]+)\.------([数字小写字母.-]若干个).但这里的()是否可以删除,为什么要()?
这个括号对整个匹配没有作用,完全多余,删除就删除吧
([\/\w\.-]*)*\/?$/-----([/单词字符.- ]若干)若干/可有可无行尾但-就表示-吗?
-在中括号的开始和末尾就表示-字符本身,在中间表示字符的范围如[a-z]
好了,关于正则表达式是干什么的和正则表达式的基本语法的问题到这里结束啦,希望可以解决您的问题哈!