一,正则表达式:
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
二,语法
[ABC]:匹配ABC中所有字符。
[^ABC]:匹配除ABC外的字符。与在中括号内的^区分
[A-Z]:匹配A到Z之间所有字符。
.:匹配除换行符外所有字符。
\w:匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
\s,\S:\s 是匹配所有空白符,包括换行,\S 非空白符,不包括换行。
所以[\s\S]是匹配所有。
三,特殊字符(对于匹配特殊字符需要加上转义符\)
$:匹配输入字符串的结尾。
^:匹配输入字符串开头。
():标记表达式开始和结束位置。
*:匹配前面字符串0次或多次。
+:匹配前面字符串1次或多次。
?:匹配前面字符串0次或1次。
大括号({})使用:
[abc]{n}:匹配字符串abc匹配n次.
{n,}:至少匹配n次。
{n,m}:n<=m,最少匹配n次,最多匹配m次。
正向先行断言:?= :a(?=b)查找b前面的a
正向后行断言:?<= : (?<=b)a查找b后面的a
负向先行断言:?! : a(?!b)查找后面不是b的a
负向后行断言:?<! : (?<!b)a查找前面不是b的a
四,反向引用:
(……)(//中间有空格) \1:指定第一个括号中匹配项,\2,\3……以此类推