eslint/no-control-regex 正確性
此規則的功能
禁止在正規表示式中使用控制字元以及一些匹配控制字元的跳脫序列。
為什麼這不好?
控制字元是 ASCII 範圍 0-31 中的特殊、不可見字元。這些字元很少在 JavaScript 字串中使用,因此包含明確匹配這些字元的元素的正規表示式很可能是錯誤的。
範例
此規則的錯誤程式碼範例
javascript
var pattern1 = /\x00/;
var pattern2 = /\x0C/;
var pattern3 = /\x1F/;
var pattern4 = /\u000C/;
var pattern5 = /\u{C}/u;
var pattern6 = new RegExp("\x0C"); // raw U+000C character in the pattern
var pattern7 = new RegExp("\\x0C"); // \x0C pattern
此規則的正確程式碼範例
javascript
var pattern1 = /\x20/;
var pattern2 = /\u0020/;
var pattern3 = /\u{20}/u;
var pattern4 = /\t/;
var pattern5 = /\n/;
var pattern6 = new RegExp("\x20");
var pattern7 = new RegExp("\\t");
var pattern8 = new RegExp("\\n");