正则表达式应用场景:
1.在IDE中使用正则表达式处理规则复杂的字符串查找、替换需求
2.在JavaScript程序设计中使用正则表达式处理字符串
3.在其他语言中
正则表达式
Regular Expression,使用单个字符串来描述、匹配一序列符合某个句法规则的字符串
简言言之:就是按照某种规则去匹配符合条件的字符串,而这种规则就是正则表达式
使用正则表达式的目的:
自己先定义一种规则,然后去匹配一个字符串中符合规则的子字符串,甚至是整个字符串是否符合规则
通配符:
find ./ -name *.txt 在当前目录下查找所有的txt文件 *.txt *代表任意字符
匹配邮箱的正则表达式
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$
在线的正则表达式工具
语法:
\b:单词边界 \bis\b
.:任意字符 需要转义 \.
*:0-n
+: 1-n
?: 0-1
\d: 数字
\转义
匹配日期:
2006/02/03 1998-03-07
^(\d{4})[\-](\d{2})[\-](\d{2})$ ()分组
取出:$2-$3-$1 02-03-2006 $1代表第一个小括号的内容,以此类推
正则表达式中的特殊字符有以下几个:
[ \ ^ $ . | ? * + ( )
在使用它们的时候,应该在前面加上反斜杠”\”进行转义,例如:
var str = "Regexper class 1.1";
var patt1 = /\d\.\d/
需要注意的一点是,正斜杠 ”/”
并不属于特殊字符,但是由于正则表达式简写方法的形式为/..pattern../
,因此如果我们需要匹配”/”
字符,不能把正则表达式写成///,而应该像特殊字符那样进行转义,写成/\//
。如果使用构造函数法表示的话,则不需要进行转义,可以直接写成new RegExp(’/’)
。
匹配非负整数: ^\d+$