如何在Javascript正则表达式中添加空格
我有一个字符串如何在Javascript正则表达式中添加空格,javascript,regex,Javascript,Regex,我有一个字符串{{my name}},我想在正则表达式中添加空格 var str = "{{my name}}"; var patt1 = /\{{\w{1,}\}}/gi; var result = str.match(patt1); console.log(result); 但结果并不匹配 任何解决方案。在字符类[]中指定单词character\w和空格字符\s > var patt1 = /\{\{[\w\s]+\}\}/gi; undefined > var re
{{my name}}
,我想在正则表达式中添加空格
var str = "{{my name}}";
var patt1 = /\{{\w{1,}\}}/gi;
var result = str.match(patt1);
console.log(result);
但结果并不匹配
任何解决方案。在字符类
[]
中指定单词character\w
和空格字符\s
> var patt1 = /\{\{[\w\s]+\}\}/gi;
undefined
> var result = str.match(patt1);
undefined
> console.log(result);
[ '{{my name}}' ]
上述正则表达式与/\{[\w\s]{1,}\}}/gi
说明:
-匹配文本\{
符号{
-匹配文本\{
符号{
-单词字符和空格字符在字符类中给定。它匹配一个或多个单词或空格字符[\w\s]+
-匹配文本\}
符号}
-匹配文本\}
符号}
{{[^}]+}}
显示模式匹配和不匹配的内容
在JS中:
match = subject.match(/{{[^}]+}}/);
要围绕图案进行替换,请使用以下命令:
result = subject.replace(/{{[^}]+}}/g, "Something$0Something_else");
解释
匹配您的两个大括号{{
匹配一个或多个不是右大括号的字符[^}]+
匹配两个右大括号}
^\{\{[a-z]*\s[a-z]*\}\}$
说明:
- \{-匹配文字{符号
- \{-匹配文字{符号
- [a-z]*-将匹配零个或多个字符
- \s-将精确匹配一个空格
- \}-匹配文字}符号
- \}-匹配文字}符号
如果需要强制字符,请使用+而不是* 我还希望字符串包含至少1个
[\w\s]+
的序列,与一个或多个单词字符或空格字符匹配。要在何处添加空格?使用您的模式/{{\w{1,}\\w{1,}}}/gi\s-将精确匹配一个空格嘿,接下来,其中一个答案为您解决了问题,还是问题仍然存在?仅供参考,添加了模式匹配和不匹配的演示。:)