講完了對於出現次數的描述,接著提一下如果想同時可以匹配不同的 pattern 要怎麼做。 這個時候需要一個特殊符號 ‘\|’ 。 比如我們想同時可以找 ab, cd,可以寫成 ‘ab\|cd’ 。 也就是說 ‘\|’ 會將整個 pattern 切成兩半,前半和後半都是可以被匹配的正規表示式。 所以如果很閒,可以用 ⟨ pattern ⟩ ‘\|’ ⟨ pattern ⟩ ‘\|’ ⟨ pattern ⟩ ‘\|’…,將所有想匹配的 pattern 一次寫滿。 如果不想整個正規表示式被切成兩半,而是只切一部份呢? 比如我們想找 ab, ac,雖然可以用 ‘ab\|’ 作為 pattern,但如果 a 被代換成一個很長的字串比如說 abcdefghijk,這樣就要打很長。 這有兩種解決方式
可以看見,用 ‘[]’ 來描述字元集合在這個例子是比較適合的, subpattern 是用來描述更複雜的情況。 比如要找 abc, ade,就無法用 ‘[]’ 來寫,而是要用 subpattern 或是單純的用 ‘\|’ 。