什么是正则表达式 通过一定规则将一个非常长的字符串匹配出对应的值,具有自己的特定的语法规则。应用场景 匹配出输出的手机号是否符合规定 , 提取网页中邮箱地址。
1.1普通字符和元字符
在正则表达式中,所有的字符分为两个类 普通字符和元字符
主要的元字符有写字母、大写字母、数字、下划线、部分特殊符号、非西文字符等
主要元字符:. \ { } * + ? ( ) [ ] - | ^ $
. 表示任意一个字符(除了换行符)
\ 转移符,用来改变其他字符的含义,
2.Pattern类
正则表达式中通过什么样的方式来进行匹配的呢。通过这个pattern的类来放入正则表达式再将需要匹配的字符串和正则放到macher中
2.1常用的正则表达式
常用的正则表达式
校验数字:^[0-9]*$
校验整数或者小数:^[0-9]+([.][0-9]+){0,1}$
校验qq号:[1-9][0-9]{4,}
校验手机号: ^1[34578]\d{9}$
校验:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|x|X)$)
校验日期(格式:yyyy-mm-dd,已考虑平闰年):^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
校验email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
校验URL:^[a-zA-z]+://[^\s]*$
简单匹配案列1:
2.2元字符的使用案列
匹配出一个字符串中所有的qq邮箱
2.3Macher类
在正则macher类中有许多方法
其中macher.find 表示匹配正则一个子字符串 macher,group 表示正则匹配后的子字符串
贪婪匹配:在重复匹配时,默认会匹配尽可能多的字符
非贪婪匹配:在重复匹配后面加上?问号,会匹配尽可能少的字符(并不严格)
2.4字符选择匹配
使用|来实现选择匹配,即多个选择中选一个
a|b|c 配a或者b或则c
2.5正则字符串的替换操作,生成字符串数组
2.6正则表达式字符类
[ ] [abc] 匹配abc中任意一个字符,类似 a|b|c
[^ ] [^abc] 匹配非abc的任意一个字符
[ - ] [0-9]、[a-z]、[a-zA-Z] 匹配范围内的任意一个字符
注意:字符类中的元字符(\除外),会被自动转义为普通字符,比如 [.] 等同于 [\.]
\w 代表一个单词字符,类似于[a-zA-Z0-9_],有的语言中也可以匹配中文
\W 代表一个非单词字符,类似于[^a-zA-Z0-9_]
\d 代表一个数字字符,等同于[0-9]
\D 代表一个非数字字符,等同于[^0-9]
\s 代表一个空白字符
\S 代表一个非空白字符
2.7正则表达式的案列
实现一个小爬虫,存放在E 盘的main2文件下
3.多线程编程
程之前,先提一下进程,进程就好比我们运行的一个一个程序,每一个程序都是一个进程,它拥有子的进程id号 简称pid。进程里面又可以继续分为线程,而多线程则是一个进程里的进程。
在通常情况下,进程是遵循时间片轮询算法的,它是经过就绪队列,阻塞队列和执行 三个步骤。java系统触屏手机由于计算机的运行速度非常快,它自己运行一个程序再运行下一个程序给人的感觉就像是同一个时间发生的一样。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-59113-1.html
怎么证明蛆是在袋子里出来