正则表达式双反斜杠

new RegExp("\b" + e.value + "\b").test(rights)

创建 RegExp 对象的语法:

new RegExp(pattern, attributes);

参数

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数

首先字符串中的\被编译器解释为
然后作为正则表达式,.又被正则表达式引擎解释为.

如果在字符串里只写.的话,第一步就被直接解释为.,之后作为正则表达式被解释时就变成匹配任意字符了

正则前提是字符串 JS解析字符串的时候 还有JS的机制 所以\相当于JS解析字符串时候使用到的就是把字符串^\d+(\.\d+)*$ 变成正则^d+(.d+)*$

ConvertHelper.ConvertToModel<List<([a-zA-Z]+)>>
ConvertHelper.ConvertToModel<$1>
abc.replace(/^((.*))$/, "$1")


[]后有了+,[]内的字符可以取任意多个。于是[]内的字符可以以任意次序出现任意多次,直到遇到第一个非[]内的字符。

如[AB]+ 既可以匹配AAABBB又可以匹配BBBAAA BABAAABA等,不是一定要A....B....的次序。
 
原文地址:https://www.cnblogs.com/xfcao/p/8268109.html