我遇到了这个javascript函数 -
function myTrim(x) {
return x.replace(/^\s+|\s+$/gm,'');
}
我知道这个函数(mytrim()
)替换了字符串(x)中的一些字符,但/^\s+|\s+$/gm
在替换方法中做了什么?
我在哪里可以了解更多有关这些事情的信息?
注意 - 此函数返回两侧都删除了空格的字符串。
答案 0 :(得分:4)
这是一个匹配两种替代模式的正则表达式搜索:
/^\s+|\s+$/gm
/
正则表达式分隔符
第一个替代^\s+
^
在行的开头声明立场
\s+
匹配任何空白字符(等于[\ r \ n \ t \ f \ v])
+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
第二个替代\s+$
\s+
匹配任何空白字符(等于[\ r \ n \ t \ f \ v])
+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
$
在一行的末尾断言位置
全局模式标记
g
修饰符:全局。所有比赛(首场比赛后不返回)
m
修饰符:多行。导致^和$匹配每行的开头/结尾(不仅是字符串的开头/结尾)
您可以阅读有关regex101.com
的更多详情 功能说明
函数调用return x.replace(/^\s+|\s+$/gm,'');
从字符串的开头和字符串的结尾搜索任何空格
如果找到,则将其替换为空字符串''
简单地说它修剪空白字符:
回车\n
(ASCII 13)
\r
换行(换行符)字符(ASCII 10)
\t
制表符(ASCII 9)
\f
换页字符(ASCII 12)
\v
任何垂直空白字符
答案 1 :(得分:1)
此语法称为Regular Expression
(通常缩写为RegEx
);您可以通过多个地方了解这一点,但您可以尝试this one。还有多个网站可以测试regex101.com这样的正则表达式。请注意,正则表达式不是通用标准,它们是取决于编程语言和平台的变体(例如:grep,扩展grep,Perl,Java,...)。
答案 2 :(得分:1)
这是正则表达式。
该模式将所有空白字符\s+
替换为空字符串,具体取决于字符串^\s+
末尾的字符串|
或\s+$
的开头。
g代表全局修饰符,在第一次匹配后不返回
m代表多行
答案 3 :(得分:0)
^ \ s + | \ s + $ gm
^声明行首的位置
\ s +匹配任何空格字符(等于[\ r \ n \ t \ f \ v])
+ Quantifier-匹配一次和无限次,尽可能多地匹配,并根据需要返回(贪婪)
\ s +匹配任何空格字符(等于[\ r \ n \ t \ f \ v])
+ Quantifier-匹配一次和无限次,尽可能多地匹配,并根据需要返回(贪婪)
$在行尾声明位置
g修饰符:全局。所有比赛(第一次比赛后不会返回)
m修饰符:多行。导致^和$匹配每行的开头/结尾(不仅是字符串的开头/结尾)