JavaScript - 新的RegExp停止转义

时间:2018-01-15 21:47:28

标签: javascript regex

如何告诉JavaScript新的RegExp停止转义我的通配符?我正在创建一个这样的RegExp ......

var matcher = new RegExp('brake*',i');

当我控制台登录matcher var时我得到了

/brake\*/i

我正在尝试创建RegExp,因此它与后面的ANYTHING字匹配。

1 个答案:

答案 0 :(得分:2)

明星*不是通配符。它表示前面标记中的0个或多个。

因此,您当前的模式/break*/匹配“brea”+ 0或更多次出现的“k”,例如“brea”或“breakkkkkkkkkk”。

您正在寻找代表除换行符之外的任何字符的点.,然后您可以将其与*组合以匹配无数个“任意”字符。

所以给了字符串“我今早吃早餐”,模式/break./将匹配“breakf”,而模式/break.*/将匹配“今早的早餐”。

const string = 'I ate breakfast this morning'

const pattern = new RegExp('break.*', 'i')

const result = string.match(pattern)

document.querySelector('p').textContent = result
<p>