import { Meta } from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/vi/functional-basic/Functions/escapeExp - Thoát các ký tự đặc biệt trong RegExp'/>

# `escapeExp`

Tiện ích thực hiện \"thoát\" (escape) tất cả các ký tự đặc biệt của biểu thức chính quy trong một chuỗi (`.` `*` `+` `?` `^` `$` `{` `}` `(` `)` `|` `[` `]` `\` `/`), để chuỗi đó có thể được sử dụng an toàn bên trong `RegExp`.

Hữu ích khi chuỗi đến từ người dùng hoặc nguồn bên ngoài và có thể chứa các ký tự mang ý nghĩa đặc biệt trong biểu thức chính quy.

**Tham số:**
- `value: string` — Chuỗi cần escape.

**Trả về:**
`string` — Chuỗi đã được escape tất cả các ký tự đặc biệt, an toàn để dùng trong `RegExp`.

```typescript
import { escapeExp } from '@dxtmisha/functional-basic'

// Escape các ký tự đặc biệt
console.log(escapeExp('user.name[0]')) // 'user\\.name\\[0\\]'
console.log(escapeExp('price $10.00')) // 'price \\$10\\.00'

// Sử dụng an toàn trong RegExp
const regex = new RegExp(escapeExp('user.name[0]'))
regex.test('user.name[0]') // true
regex.test('userXname0')   // false
```
