/\{\{(.+?)\}\}/g
最前面的“/”与最后面的“/”是分隔符,表示正则表达式的开始与结束。
最后的“g”标志表示正则表达式使用的global(全局)的状态。使用 global 标志表明在被查找的字符串中搜索操作将查找所有符合的项,而不仅仅是第一个。这也被称为全局匹配。【相关的标志还有i(ignoreCase,表示忽略大小写)、m(multiline,表示允许跨行)】
然后我们再来看中间的主体部分:\{\{(.+?)\}\}花括号{}是正则里的限定符。但是我们这里是要找字符串里的花括号,所以前面加个“\”来表示是要找字符的花括号。“\{\{”“\}\}”就是找前后两组花括号。
“.”表示任意字符。“+”表示前面表达式一次乃至多次。“?”表示匹配模式是非贪婪的。
/\{\{(.+?)\}\}/g完整的意思就是:在全部范围内查找匹配前后有两组花括号的字符串。
例如:“{{}}”、“{{asdfasdfasdf56745}}”、“{{yuyuy#$%8787 9+_)(*)87 }}”
对于正则表达式(/\d+/g,""):\d表示数字, + 表示一个或多个,就是把连续的多个数字替换为空。
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
应用:许多程序设计语言都支持利用正则表达式进行字符串操作。
全局模式的意思。
第一个/表示正则表达式的开始
最后一个/g是全局匹配模式。就是匹配在整个字符串都有效;比如可以匹配到多次的情况;
\#的含义是有个转义的意思,代表字符#;类似的都是这样的含义。\是转移符。一般就用正则比较高效简介。否则你需要用子串包含来判断,需要写很多;比如:str.indexOf("@")
\d表示数字, + 表示一个或多个,就是把连续的多个数字替换为空,
替换字符串中的数字为空