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

 我来答
大宝妈谈教育
高粉答主

2020-04-26 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:54.7万
展开全部

$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,如果字符串被分成多行,每一行都有一个开头和一个结尾。

ThinkIBM
推荐于2018-03-26 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5479万
展开全部
$1是正则里的捕获,就是前面的(.*?)里的东西
str.replace(/^\s*(.*?)[\s\n]*$/g, '$1')
就是删除字符前后的空白,后面那个\n是多余的,因为\s就包含了\n
你这个可以优化成:
str.replace(/^\s+(.*?)\s+$/g, '$1')
或者用:
str.replace(/^\s+|\s+$/g, "")
效果是一样的

参考资料: http://beinet.cn/Blog/BlogShow.aspx?id=8fe6311d-ea7b-4e81-9fa1-465b593c82c1

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白狐仙人
2011-01-28 · TA获得超过1236个赞
知道小有建树答主
回答量:830
采纳率:0%
帮助的人:702万
展开全部
将str字符串中符合正则的部分替换成$1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式