[英]Confused about this regular expression
好吧,所以^[AZ]
意思是大寫字母開頭。 那么^[AZ]*
是什么意思? 這是否意味着零個或多個大寫字母出現? 因為這確實使我感到困惑,因為它在輸出中包含空行而不是大寫字母。 另外,您能解釋^[AZ]*$
嗎?
mugbear:~# clear
mugbear:~# cat emptyspace
line1
line2
line4
line5
line7
mugbear:~# grep '^[A-Z]*' emptyspace
line1
line2
line4
line5
line7
mugbear:~# grep '^[A-Z]*$' emptyspace
mugbear:~#
空行是 零個或多個大寫字母出現。 后者的表達
模棱兩可,以
零個或多個大寫字母(也稱為“任何”)開頭和結尾。
更新 :請參考Tanzelax的答案作為應接受的答案。
零個或多個事件可以包括零個事件。
因此, ^[AZ]*
僅包括“換行”,即每一行。
$
是行尾,因此^[AZ]*$
表示“新行,后跟任意數字(包括零)的大寫字母,后跟行尾”,僅是空行(即“新行” ,大寫字母零,行尾')。
如果您要問在表達式末尾加星號是什么意思,則意味着要匹配0次或多次。 在您提供的表達式中,它表示要匹配盡可能多的連續大寫字母。
http://www.regular-expressions.info/可能也對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.