实验原理
正则表达式是用于处理字符串的强大工具,其他编程语言中也有正则表达式式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己的独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。它的应用领域大致有:
- C#
- Java
- JavaScript
- Python
- Ruby
正则表达式组成元素为:
正则表达式
优点:速度快,效率高,
缺点:新手上手有点难
元字符:含有固定含义的特殊符号
默认匹配一个 换行符特殊
- 1 . 匹配一个数字
- 2 \w 匹配字母,数字,下划线
- 3 \s 匹配任意空白符 空格 换行 回车
- 4 \d 匹配数字
- 5 \n 匹配一个换行符
- 6 \t 匹配一个制表符
- 7 ^ 匹配开始
- 8 $ 匹配结束
- 9 \W \S \D 分别匹配非字母数字下划线,匹配非空白符,匹配非数字
- 10 a|b 匹配a或者b
- 11 () 匹配括号内的表达式,也表示一个组
- 12 [] 匹配字符组中的字符
- 17 [^...] 匹配除了字符组中字符的所有字符
量词
- 1 * 重复0次或更多次
- 2 + 重复1次或更多次
- 3 ? 重复0次或一次
- 4 {n} 重复n次
- 5 {n,} 重复n次或更多次
- 6 {n,m} 重复n到m次
贪婪匹配和惰性匹配
-
1 .* 贪婪匹配 尽可能长的匹配
-
2 .*? 惰性匹配 尽可能短的匹配
写爬虫用的最多的就是这个惰性匹配
常见的正则表达式:
- 是否带有小数:reg=/^\d+.\d+$/