這幾天一直在努力的學習很多東西,因為是自學,走了很多彎路。特別是看到一些比較難得知識點時,心理總是很焦急,而且能夠影響學習效率的東西太多了。一個安靜的環境,自由的環境,舒緩的心情感覺真的很重要。就像今天下午的我,心理感覺總是亂糟糟的,一會想做這個一會想做那個,結果一個下午什么也沒干成。蛋疼啊!
大四了,找工作的鴨梨是真真切切的來了。突然感覺公司要求的技術自己一點都不懂,然后就華麗麗的急了。面試了兩次,我就放下了。感覺這樣的自己很難找到好的工作,還是趕緊靜下心來學習吧!畢竟只要知道學習就不會太晚,給自己制定了一個方向:網站。因為專業已經學習了java,就找相關的資料啊 視頻的學習起來:html-->css-->javascript-->jsp-->php-->jsp。大概就是這么一個路線吧!雖然這幾天好多人都在我跟前說:這個技術前景不怎么好,讓我學習ios啊什么的移動開發。可是我感覺既然自己有java的基礎就要好好利用,畢竟技術在於:精。好吧,不扯了!進入主題!
今天學習的是正則表達,因為在以前的學習和這段時間的javascript等學習發現正則表達式正的很重要、很方便、很實用。就想着好好學習學習,了解一番。找了個正則表達式30分鍾入門教程就看了起來,現在看的基本有個眉目了。打算再看一遍,把該注意的地方和自己的測驗寫出來,做個記錄。
正則表達式
代碼 | 說明 |
---|---|
. | 匹配除換行符以外的任意字符 |
\w | 匹配字母或數字或下划線或漢字 |
\s | 匹配任意的空白符 |
\d | 匹配數字 |
\b | 匹配單詞的開始或結束 |
^ | 匹配字符串的開始 |
$ | 匹配字符串的結束 |
在上表中的\b、^、$ 元字符^(和數字6在同一個鍵位上的符號)和$都匹配一個位置,這和\b有點類似。^匹配你要用來查找的字符串的開頭,$匹配結尾。這兩個代碼在驗證輸入的內容時非常有用,比如一個網站如果要求你填寫的QQ號必須為5位到12位數字時,可以使用:^\d{5,12}$
這里需要說明的是:在大多數時候 上面的^和\A、$和\Z是可以互換使用的,但是要注意的是它們必須對應出現,即^和$、\A和\Z
如果你想查找元字符本身的話,比如你查找.,或者*,就出現了問題:你沒辦法指定它們,因為它們會被解釋成別的意思。這時你就得使用\來取消這些字符的特殊意義。因 此,你應該使用\.和\*。當然,要查找\本身,你也得用\\.
例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。
要想查找數字,字母或數字,空白是很簡單的,因為已經有了對應這些字符集合的元字符,但是如果你想匹配沒有預定義元字符的字符集合(比如元音字母a,e,i,o,u),應該怎么辦?
很簡單,你只需要在方括號里列出它們就行了,像[aeiou]就匹配任何一個英文元音字母,[.?!]匹配標點符號(.或?或!)。
*** 這里我們要重點理解一下[.?!]這個例子:上面我們已經記錄了 . 對!就是這個點號,我們說當點號在字符串中[.]和轉義\.時只能匹配點號本身,
所以這里的[.?!]匹配的就是(.或?或!)
現在我們來看看一個例子:\(?0\d{2}[) -]?\d{8}
首先是一個轉義字符\來轉義( 后面的?表示出現的次數0或1次,然后是匹配數字0,然后匹配一個數字(\d)重復兩次{2},然后就是一個字符類[) -]后面的?同樣表示[]中的三個字符出現0或1次,讓后就是數字字符重復出現8次 像(010)88886666,或022-22334455,或02912345678等