docs/zh_hans/reference/compat/predicate/isRegExp.md
::: warning 使用 es-toolkit 的 isRegExp
这个 isRegExp 函数是 Lodash 兼容性的函数,但是简单的类型检查。
请使用更快且现代的 es-toolkit 的 isRegExp。 :::
检查值是否为正则表达式。
const result = isRegExp(value);
isRegExp(value)当您想类型安全地检查值是否为正则表达式时使用 isRegExp。在 TypeScript 中也可以作为类型守卫使用。
import { isRegExp } from 'es-toolkit/compat';
// 正则表达式
isRegExp(/abc/); // true
isRegExp(new RegExp('abc')); // true
isRegExp(/[a-z]+/g); // true
isRegExp(/pattern/gi); // true
// 其他类型返回 false
isRegExp('/abc/'); // false (字符串)
isRegExp('pattern'); // false (字符串)
isRegExp({}); // false (对象)
isRegExp([]); // false (数组)
isRegExp(null); // false
isRegExp(undefined); // false
isRegExp(123); // false (数字)
区分正则表达式字符串和实际正则表达式对象。
import { isRegExp } from 'es-toolkit/compat';
// 正则表达式 vs 正则表达式字符串
isRegExp(/test/); // true
isRegExp('/test/'); // false
isRegExp('\\d+'); // false
isRegExp('/\\d+/g'); // false
// 各种正则表达式标志
isRegExp(/test/i); // true (忽略大小写)
isRegExp(/test/g); // true (全局搜索)
isRegExp(/test/m); // true (多行)
isRegExp(/test/gim); // true (所有标志组合)
也识别动态创建的正则表达式。
import { isRegExp } from 'es-toolkit/compat';
// 通过 RegExp 构造函数创建的正则表达式
const dynamicRegex = new RegExp('\\d{3}-\\d{4}', 'g');
isRegExp(dynamicRegex); // true
// 通过字符串创建的正则表达式
const pattern = 'hello';
const flags = 'gi';
const regex = new RegExp(pattern, flags);
isRegExp(regex); // true
value (any): 要检查是否为正则表达式的值。(value is RegExp): 如果值为正则表达式则返回 true,否则返回 false。