正則表達式特別需要注意的點:“空“字符的匹配方法
在正則表達式中,[...]
代表1個字符,不管里面有多少字符,最終這個東西的結果都是1個字符。
對于表達式[^a]
表達的匹配除了a之外的字符,并且是1個字符。
需要注意的是,有些特殊字符是不會被匹配的。
我們看一個示例,對于txt文件testRegularExperxx.txt
aaa bbb
對于該文件,輸入命令grep -n '[^a]' testRegularExperxx.txt
得到的結果是:
你會發(fā)現(xiàn),對于看起來的“空行”的處理似乎是不一樣的,為什么呢?
仔細看看文件,雖然都是空行,但是,有的是空格,有的是 \t,有的是 \n。它們看起來都是空的,但是處理方式不一樣。
這里,對于[^]a
除了a之外的1個字符,能夠識別空格和 \t,而忽略掉 \t。
我們換一個新的文件,看看文件的內(nèi)容
選中的時候顏色不同,也可以看出端倪來。
HexCharDescriptionEscape Character09HTHorizontal Tab\t0aLFLine Feed\n20spaceSpace
所以,你就知道了[...]
的特殊的地方了。
那么如何識別空行呢?也就是僅包含\n
的行。
使用^$
識別!這也是比較特殊的點了。
小結 [...]
不能識別\n
^$
可以識別\n
,但是注意,是識別一行僅有\n
的空行
另外,正則表達式的不同規(guī)則,是可以進行花樣排列組合,從而識別復雜單詞!進一步也可以作為詞法分析的實用工具。
到此這篇關于正則表達式特別需要注意的點:“空“字符的匹配的文章就介紹到這了,更多相關正則表達式匹配空白內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
正則表達式解決input框固定輸入值得格式(金額,特殊字符)
這篇文章主要介紹了正則表達式解決input框固定輸入值得格式(金額,特殊字符),本文分為三種情況給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10js正則表達式之RegExp對象屬性lastIndex,lastMatch,lastParen,lastContext,
js正則表達式之RegExp對象屬性lastIndex,lastMatch($&),lastParen($+),lastContext,rightContext屬性的講解2012-10-10php 正則表達式提取網(wǎng)頁超級鏈接url的函數(shù)
php 正則表達式提取網(wǎng)頁超級鏈接url的函數(shù)2010-01-01