比對的對象為臺羅數字版,第1、4聲也須完整寫出(如:sai1、iat4)。使用正規表達式查詢時,若需要在表達式中包含該音節的末尾,則必須將聲調數字包含在內。
例:用「iat4$」查詢結尾是iat的詞,因為有使用「$」表達整個詞的結尾,因此須寫出「4」才能正確查詢。若輸入「iat$」則會查無結果。
例:用「^ti1 .+」查詢首字為「ti」,後面有其他任意音節的詞,因為有使用空白來表達「ti1」此音節的結尾,因此需寫出「1」才能正確查詢。若輸入「^ti .+」則會查無結果。
為避免在一般查詢時,因連字符差異造成查無結果,比對的臺羅數字版將所有連字符都替換成空白。因此,以正規表達式查詢時,音節間須為空白,不可用連字符。
例:用「h(ue|e)2 tshia」可以查詢到「hué-tshia」、「hé-tshia」。若輸入「h(ue|e)2-tshia」則會查無結果。
符號說明
此處介紹常用的特殊符號及辭典查詢情境,完整符號說明請參考Python正規表達式文件。
【.】:代表有一個任何的字元。
輸入「袂.得」,查詢「袂」、「得」兩字中間有任何一個字元的詞目,如「袂用得」、「袂堪得」、「痚呴袂忍得嗽。」
【^】:置於表達式開頭,查詢以此開頭的字詞。
輸入「^食」,可查詢到「食」、「食物」、「食品」、「食暗」;輸入「^phin」可查詢到「phín」、「phìng-kim」、「phīnn-á」。
【$】:置於表達式結尾,查詢以此結尾的字詞。
輸入「尾$」可查詢到「後尾」、「菜尾」、「躡跤尾」;輸入「iat4$」可查詢到「phiat」、「oo-pe̍h-tshiat」、「phah-tsiat」。
【[ ]】:比對符合括號內表達式的任何1個字元。
有下列幾種用法:
1.直接指定括號內的字元。
輸入「^si[aptk][14]$」可查詢到「sia」、「sip」、「sit」、「sik」,聲調為第1聲或第4聲,但不會查詢到「siap」、「siak」、「siat」。
2.括號內的字元用範圍表示,如[a-z]、[1-9]。
輸入「^pa[1-9]$」可查詢到「pa」、「pá」、「pà」、「pâ」、「pā」。[1-9] 亦可用 [\d] (代表0~9任一個數字字元)替代。
3.用^排除指定的字元。
輸入「[^pb]uat」,可查詢到「gua̍t」、「bô-huat」、「pì-kuat」,但不會查詢到「pua̍t-á」、「bua̍t」。
4.用^排除特定範圍的字元。
輸入「[^a-z]hian」,可查詢到「a-hiann」、「bîng-hián」、「hiáng」,但不會查詢到「phiàn」、「khián」、「tshiâng」等等h前方還有其他字母的組合。
【(A|B)】:同時查詢AB兩種字串,例如不同腔調的音讀。
輸入「h(ue|e)2 tshia」,可查詢到「hué-tshia」、「hé-tshia」。
注意:「|」符號,若是使用在前一項的「[ ]」內,是代表「|」字元本身,無特殊意義,在辭典內會查無結果。
【?】:前方的表達式出現0次或1次。
輸入「蒜仔?」,可查詢到「蒜」、「蒜仔」、「蒜仔花」、「蒜茸」;輸入「tsah?[34]」,可查詢到「tsà」、「tsah」。前一項的範例也可以使用「hu?e2 tshia 」來查詢。
注意:此符號作用範圍是前一個表達式,若沒有使用括號,是代表前1個字元出現0次或1次。
【*】:前方的表達式出現0次或1次以上。
常用的用法是用.*代表有一個以上的任何字元或沒有任何字元。輸入「.*飯$」,可查詢到「滷肉飯」、「凊飯」、「飯」等。
注意:此符號作用範圍是前一個表達式,若沒有使用括號,是代表前1個字元出現0次或1次以上。
【\1 \2】:配合用括號「()」框起來的範圍,比對有重複的內容。
輸入「紅(.)\1」,\1代表第一個括號(.)比對到的部分(任意一個字元),可查詢到「ABB」的組合如「紅記記」、「紅絳絳」等。
輸入「(.)\1(.)\2」,可查詢到「AABB」構詞的詞目;輸入「(.)(.)\1\2」可查詢到「ABAB」構詞的詞目。
留言列表