我遇到了这个 JavaScript 函数:
function myTrim(x) {
return x.replace(/^\s+|\s+$/gm,'');
}
我知道这个函数( mytrim()
)替换了字符串(x)中的一些字符,但是 /^\s+|\s+$/gm
在替换方法中做了什么?
我在哪里可以了解更多关于这些事情的信息?
注意-此函数返回两边都删除空格的字符串。
原文由 aryaman 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了这个 JavaScript 函数:
function myTrim(x) {
return x.replace(/^\s+|\s+$/gm,'');
}
我知道这个函数( mytrim()
)替换了字符串(x)中的一些字符,但是 /^\s+|\s+$/gm
在替换方法中做了什么?
我在哪里可以了解更多关于这些事情的信息?
注意-此函数返回两边都删除空格的字符串。
原文由 aryaman 发布,翻译遵循 CC BY-SA 4.0 许可协议
它是一个正则表达式。
该模式将所有空白字符 \s+
替换为一个空字符串 \s+$
具体取决于它是在字符串的开头 ^\s+
还是 |
在字符串的末尾 ---
。
g
用于全局修饰符,第一次匹配后不返回的内容。
m
用于多行。
原文由 standby954 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
它是一个正则表达式搜索,匹配两种可选模式:
/^\s+|\s+$/gm
/
正则表达式分隔符第一个选择
^\s+
^
断言行首位置\s+
匹配任何空白字符(等于 [\r\n\t\f\v ])+
Quantifier — 匹配一次和无限次,尽可能多次,按需回馈(贪心)第二个选择
\s+$
\s+
匹配任何空白字符(等于[\r\n\t\f\v])+
Quantifier — 匹配一次和无限次,尽可能多次,按需回馈(贪心)$
断言行尾的位置全局模式标志
g
修饰符:全局。所有比赛(第一场比赛后不返回)m
修饰符:多行。使 ^ 和 $ 匹配每行的开始/结束(不仅是字符串的开始/结束)您可以在 regex101.com 上阅读更多详细信息。
功能说明
函数调用
return x.replace(/^\s+|\s+$/gm,'');
从字符串的开头和结尾搜索任何空格。如果找到,则将其替换为空字符串''
。简单地说它会修剪空白字符:\n
回车(ASCII 13)\r
换行(换行)字符(ASCII 10)\t
制表符(ASCII 9)\f
换页字符(ASCII 12)\v
任何垂直空白字符