為什麼Match Pattern在有特殊符號的情況下無法運作?



主要軟體:
主要軟體版本: 1.0
主要軟體修正版本: N/A
次要軟體: N/A

問題:

我有一個字串包含特殊符號,例如'.'。如果我使用match pattern函式的字串包含這符號,他只會抓到第一個字元,然後回傳剩下的字串。例如我使用'hello.txt'來做'.'的pattern match,他會回傳'h'和'ello.txt'。但我希望他回傳'hello'和'txt'。



解答: Match Pattern VI支援一般字元來做pattern match, '.'屬於特殊符號。如果要用'.'來做pattern match,您必須要在前面加上\,像是這樣 '\.' :



同樣的,如果想要搜尋任何特殊字元,您都必須要在前面加上'\'。

被視為特殊符號的字元如下:

".", "?", "\", "^", "[", "]", "+", "*", "$", "-", "~".

注意: 這個問題也會出現在使用16進制的字串。如果搜尋的子字串是兩個十六進制的字串,並且是以上特殊符號的ACSII值,會出現同樣的問題。然而,只要在字傳前面加上'\'就可以解決此問題。


相關連結: MSDN VBScript User's Guide: Introduction to Regular Expressions

附加檔案:





報告日期: 04/09/2003
最後更新: 08/21/2015
文件偏號: 2W8D5VDS