如何使正規表示式不區分大小寫你好。有誰知道在 JSL 中使正規表示式搜尋不區分大小寫的最佳方法?例如,我希望從路徑名中提取檔案副檔名,並且我不希望副檔名是“.csv”或“.CSV”或“.cSv”。如果我嘗試以下操作,它將僅適用於擴展名小寫的檔案名稱:
filename = Regex(path, "(.+\/)*([^\/]+)\.(csv|xlsx)$", "\2")
一種方法是在對其進行正則表達式之前將整個路徑轉換為小寫,但由於各種原因我不想這樣做。
filename = Regex(LowerCase(path), "(.+\/)*([^\/]+)\.(csv|xlsx)$", "\2")
我嘗試的另一種方法是在匹配字串中使用“(?i)”修飾符,但出現錯誤:
filename = Regex(path, "(?i)(.+\/)*([^\/]+)\.(csv|xlsx)$", "\2")
「正規表示式找到量詞 *、+、? 或 { 在無效位置,結果在「Regex」的存取或評估中未定義。
自動化和腳本編寫回覆:如何使正規表示式不區分大小寫如果您想提取檔案副檔名,我建議您檢查 Word()、Words()、Item() 和 Items() 函數,而不是使用正規表示式。
回覆:如何使正規表示式不區分大小寫JMP 中的正規表示式中也有 IGNORECASE 標誌,但如果您只想要檔案名稱(或副檔名或兩者),我仍然建議使用正規表示式以外的其他方法
Names Default To Here(1);
path = Convert File Path("$SAMPLE_DATA/Big Class.jmp");
filename1 = Regex(path, "(.+\/)*([^\/]+)\.(JMP)$", "\2", IGNORECASE);
filename2 = Word(-2, path, "\/.");
filename3 = Word(-1, path, "\/");
Show(filename1, filename2, filename3);

正規表示式(來源、模式、( , >)
腳本編寫指南 > 資料型別 > 正規表示式 > Regex 函數
回覆:如何使正規表示式不區分大小寫這個混合代碼有效
Names Default To Here( 1 );
path = "C:\users\big.cSv";
filename = "";
ext = Word( -1, path, "." );
If( Uppercase( ext ) == "CSV" | Uppercase( ext ) == "XLSX",
filename = Eval(
Parse(
"Regex(path, \!"(.+\/)*([^\/]+)\." || ext || "$\!", \!"\2\!")"
)
)
);
Show( filename );
我首選的 JSL 是
Names Default To Here( 1 );
path = "C:\users\big.cSv";
filename = "";
ext = Word( -1, path, "." );
If( Uppercase( ext ) == "CSV" | Uppercase( ext ) == "XLSX",
filename = Word( -2, path, ".\/" )
);
Show( filename );
回覆:如何使正規表示式不區分大小寫謝謝@jthi 。我知道我在某處見過這個。當然,它在腳本指南中。哈。