js里 str.replace(⼀^尀s*(.*?)[尀s尀n]*$⼀g, ✀$1✀) 中$1是什么意思?

2024-12-18 22:02:20
推荐回答(3个)
回答1:

$1是正则里的捕获,就是前面百的(.*?)里的东西,str.replace(/^\s*(.*?)[\s\n]*$/g,'$1')就是删除字符前后的空白,后面那知个\n是多余的,因为\s就包含了\n。

符号含义:

\s:space,空格

+:一个或多个

^:开始,^\s,以空格开始

$:结束,\s$,以空格结束

|:或者

/g:global,全局

replace()替换

扩展资料:

1.正则表达式:

(1)定义正则表达式的规则;

正则表达式模式(I/g/m);

2.宣布正则表达式:

(1)文字声明:

Varreg=/表达式规则/表达式模式;

例如:varreg=/white/g;

使用新关键字:

Varreg=newRegExp("expressionrule","expressionmode");

例如:varreg=newRegExp("白色","g");

3.正则表达式的常见模式:

G:全球匹配。没有g默认为非全局匹配,只匹配满足要求的第一个字符串。

我:忽略大小写。没有I,默认情况不匹配;

M:多线匹配模式。没有m,一根弦只有一个开始和一个结束;

对于m,如果字符串被分成多行,每一行都有一个开头和一个结尾。

回答2:

$1是正则里的捕获,就是前面的(.*?)里的东西
str.replace(/^\s*(.*?)[\s\n]*$/g, '$1')
就是删除字符前后的空白,后面那个\n是多余的,因为\s就包含了\n
你这个可以优化成:
str.replace(/^\s+(.*?)\s+$/g, '$1')
或者用:
str.replace(/^\s+|\s+$/g, "")
效果是一样的

回答3:

将str字符串中符合正则的部分替换成$1