stdlib-js / stdlib-js/stdlib

Regexp escape error with Regexp option 'u' and dash in string

オープン
#701 コメント 5 件 リアクション 0 件 担当者 1 名 @Planeshifter が担当を希望しています GitHub で見る
Bug Documentation wont-fix
主要言語
JavaScript
スター
6k
フォーク
1.3k
平均マージ
1日 3時間
マージ済み PR(30日)
611

説明

### Description

Encountered an error while escaping a string containing a `-` and passing it to `Regexp.new()` with `u` flag enabled

### Related Issues

_No response_

### Questions

_No response_

### Demo

https://codesandbox.io/s/node-playground-forked-edd4wv?file=/src/index.js

### Reproduction

```js
import rescape from "@stdlib/utils-escape-regexp-string";

console.log(new RegExp(rescape("en-US"))); //=> /en\-US/

console.log(new RegExp(rescape("en-US"), "u")); //=> SyntaxError: invalid identity escape in regular expression
```

### Expected Results

`console.log(new RegExp(rescape("en-US"), "u"))` should print `/en-US/`

### Actual Results

`console.log(new RegExp(rescape("en-US"), "u"))` raises an error with a message similar to the following:

```
SyntaxError: Invalid regular expression: /en\-US/: Invalid escape
```

### Version

@stdlib/utils-escape-regexp-string 0.0.9

### Environments

Node.js, Firefox, Chrome

### Browser Version

_No response_

### Node.js / npm Version

16

### Platform

_No response_

### Checklist

- [X] Read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [X] Searched for existing issues and pull requests.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。