ERE 在匹配多個字符這方面,與 BRE 有很明顯的不同。不過,在 * 的處理上和 BRE 是相同的。
區間表達式可用於 ERE 中,但它們是寫在花括號里({}),且不需要前置反斜杠字符。因此“要剛好重現5個a”的寫法為 a{5}。而 \{ 與 \} 則可用以匹配字面上的花括號。當在 ERE 里 { 找不到匹配的 } 時,POSIX特意保留其含義為 “未定義”狀態。
ERE 另有兩個 meta 字符,可更細膩地處理匹配控制:
? 匹配0個或一個前置正則表達式
+ 匹配1個或多個前置正則表達式
可以把 ? 想成是“可選用的”,也就是說,匹配前置正則表達式的文本,要么出現,要么沒出現。
+ 字符在改變上與 * meta 字符類似,不過前置正則表達式要匹配的文本在這里至少得出現一次。