4-4 Swr

有些通用式會常被用到,因此已被定義為特定字元,以簡化整體通用式,這些字元可列表說明如下:

通用表示法的特定字元說明等效的通用表示法
\d數字[0-9]
\D非數字[^0-9]
\w數字、字母、底線[a-zA-Z0-9_]
\W非 \w[^a-zA-Z0-9_]
\s空白字元[ \r\t\n\f]
\S非空白字元[^ \r\t\n\f]
.任一個字元,但不包含換行字元(\n)

例如,我們可以用「\d」來比對由 0 到 9 的數字,並用「\D」來比對非數字。假設我們要找出「兩個非數字夾一個數字」的子字串,可使用「\D\d\D」,請見下列範例:

Example 1: 04-通用運算式/regExp04.mstring = 'Some terms: RU486, Y2K, 900GHz, B2B, B2C'; pattern = '\D\d\D'; [start, finish] = regexp(string, pattern); fprintf('Matched substrings:\n'); for i=1:length(start) fprintf('\t%d: %s\n', i, string(start(i):finish(i))); endMatched substrings: 1: Y2K 2: B2B 3: B2C

我們也可以抓出來「兩個 t 中間夾 4 個任意字元」的子字串,請見下例範例:

Example 2: 04-通用運算式/regExp13.mstring = 'I like the tidbit given by the tyrant'; pattern = 't....t'; [start, finish] = regexp(string, pattern); fprintf('Matched substrings:\n'); for i=1:length(start) fprintf('\t%d: %s\n', i, string(start(i):finish(i))); endMatched substrings: 1: tidbit 2: tyrant


MATLAB程式設計:進階篇