1.正则表达式工具之Regextester
Regextester 是用做正则表达式调试的工具,在编写正则表达的过程中间需要校验的
正则表达式提取结果是否是我们想要的结果
2.正则表达式操作符
()需要提取的部分
.匹配任意字符串
*表示任意个字符(0 或者多个)
?找到第一个匹配成功后停止匹配
\d 代表匹配数字
\w 代表字母
{n} 代表多少个字符
\n 换行符
[0-9] 代表数字
---正则表达式操作符
操作符 含义
() 括起来的部分就是要提取的
. 匹配任何字符串
* 表示任意个字符
? 不要太贪婪,在找到第一个匹配项后停止。
\d 数字
\w 数字或者字母
{n} 表示n 个字符
{n,m} 表示n-m个字符
\s 空白符
[] 表示范围
[0-9a-zA-Z] 数字或者字母
3.正则表达式提取使用。
比如服务器端响应JSON 报文如下:
{"data":[{"mount":10,"price":100.00,"totalprice":1000.00,"Type":2}],Msg:sucess}
现在用户需要提取报文中间的:
mount:10,price:100.00,totalprice:100.00,Type:2
这个四个对应的值。
提取mount 中间的值,正则表达式为:"mount":(.+?),
提取price 中间的值,正则表达式为:"price":(.+?),
提取totalprice 中间的值,正则表达式为:"totalprice":(.+?),
提取Type 中间的值,正则表达式为:"Type":(.+?)
每一个正则表达式,拼接之后:"mount":(.+?),"price":(.+?),"totalprice":(.+?),"Type":(.+?)
5、正则表达式:"mount":(.+?),"price":(.+?),"totalprice":(.+?),"Type":(.+?)。
模板:$1$,匹配数字:1,缺省值:null
备注说明:
模板:代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。
$0$ 代表这一组结果的全部,$1$代表这一组结果的第1个,以此类推;
$1$$2$ 代表该正则表达式一组结果中的第1个和第2个,俩结果挨在一起中间没有间隔;
$3$,$4$ 代表该正则表达式一组结果中的第3个和第4个,俩结果间有一个逗号相连。
匹配数字:0代表正则表达式结果组中随机,1代表全部。
4.正则表达式实例