我学正则表达式——价格之争( | 和\t的用法)
来源:互联网 发布:js new file 编辑:程序博客网 时间:2024/04/28 20:45
错别字的烦恼
一大早就接到了个任务,要用正则来识别价格的变动情况,价格表的信息如下:
苹果 6.00 09/17
平果 6.50 09/18
香蕉 3.00 09/17
香蕉 4.00 09/18
平果 6.50 09/18
香蕉 3.00 09/17
香蕉 4.00 09/18
...
怎么才能找出苹果的价格呢?
灵机一动,还是用正则吧。噼噼啪啪的键盘声后,有了下面的表达式:
(苹果)\t(\d+\.\d+)\t(\d+/\d+)
上机一测,果真匹配了,价格就是group(2),不过,就找到了一个:
苹果 6.00 09/17
还有个苹果没找到,为什么???
我反复看了正则表达式,没问题!
再看看,再看看,我的眼睛就差贴到屏幕上了。
终于,我发现了,原来粗心的阿姨把苹果的草头给去掉了。。。。。。害我个苦找啊
怎么办呢?
|的用法
在正则表达式中,|是或的意思,
苹果|平果
的意思是,苹果和平果都可以,如果我们把上面的表达式改成:
(苹果|平果)\t(\d+\.\d+)\t(\d+/\d+)
就可以匹配出平果的信息了。
\的用法
上篇博文中,我们提到了()可以用来确定组。如果我们想匹配(本身,又该怎么办呢?
下面我们来看看转义符的记号\,
在正则表达式中,定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思。
为了让正则表达式匹配(,我们只要在前面加上\,让它变成\(就行。
注意:如果你只写一个(,没写),可是会要报错哦。
在前面中,我们看到了\d表示数字。
今天,我们又看到了一个新的转义字符,\t,t是table的缩写,\t表示是一个制表符。
小结
在本文中,我们学习了:
- | 表示或者的意思,Jim|Jack 表示Jim或者Jack
- \ 用来说明后面是特殊的符号或标记,\t表示制表符。
0 0
- 我学正则表达式——价格之争( | 和\t的用法)
- 我学正则表达式(2)——{m,n},?,*,+
- 价格的正则表达式
- 价格的正则表达式
- 我学正则表达式——组(group)和回溯引用(backreference)
- 我爱学Java之正则表达式
- 我学正则表达式(1)
- 纯属偶然——我和正则表达式的缘份
- 跟我学正则表达式!
- 验证价格类型的正则表达式
- 正则表达式——“ . ”的用法
- JavaScript 价格正则表达式
- 正则表达式验证价格
- 正则表达式的用法和常用正则表达式大全(转)
- 正则表达式之我的理解(一)
- 正则表达式(2)之元字符的用法
- 正则表达式之掌握grep的用法
- python之正则表达式的用法总结
- creationComple
- 图的遍历之 深度优先搜索和广度优先搜索
- 两个数种输出最大最小值
- Java 去除字符串中的空格,回车,制表符
- 有关openCV在QT环境的配置
- 我学正则表达式——价格之争( | 和\t的用法)
- c++面向对象编程必备“良方”
- SoundPool
- 重写监管策略
- N!
- 树-堆结构练习——合并果子之哈夫曼树
- Leetcode#69||Sqrt(x)
- JVM内存管理:深入Java内存区域与OOM
- ArcGIS 10.2导入ArcSDE图层不能编辑的问题