我學正則表達式——價格之爭( | 和\t的用法)

錯別字的煩惱

一大早就接到了個任務,要用正則來識別價格的變動情況,價格表的信息如下:
蘋果 6.00 09/17
平果 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表示是一個製表符。


小結

在本文中,我們學習了:
  1.  |  表示或者的意思,Jim|Jack 表示Jim或者Jack
  2. \  用來說明後面是特殊的符號或標記,\t表示製表符。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章