lastIndex lastIndex 是正则表达式的一个可读可写的整数,它用于指定下一次匹配开始的索引位置,只有正则表达式使用了 "g"标志(全局匹配) 或者 "y" 标志(粘性匹配)时这个属性才会生效。 在每次使用正则进行匹配之后,lastIndex 这个值会自动设为下一次开始匹配的索引位置,但也可以手动设置这个值来指定下一次匹配开始的索引位置。 在每次开始匹配时,如果 lastIndex 等于或小于字符串的长度,则该正则表达式将会从lastIndex 位置开始…
lastIndex lastIndex 是正则表达式的一个可读可写的整数,它用于指定下一次匹配开始的索引位置,只有正则表达式使用了 "g"标志(全局匹配) 或者 "y" 标志(粘性匹配)时这个属性才会生效。 在每次使用正则进行匹配之后,lastIndex 这个值会自动设为下一次开始匹配的索引位置,但也可以手动设置这个值来指定下一次匹配开始的索引位置。 在每次开始匹配时,如果 lastIndex 等于或小于字符串的长度,则该正则表达式将会从lastIndex 位置开始…
字符串数组按字母升序排序 要将字符串数组按字母顺序进行排序,你可以使用JavaScript的sort方法。默认情况下,sort方法将字符串按字母顺序升序排序。下面是一个示例: 在上面的示例中,stringArray 中的字符串数组按字母升序排序。 字符串数组按字母降序排序 如果你需要降序排序,你可以传递一个比较函数给sort方法。例如,要降序排序,可以这样做: 在上面的示例中,我们使用比较函数来实现降序排序,localeCompare方法用于比较字符串。 使用Intl.Collator实例的compare方法排序 …
在JavaScript中,与正则表达式有关的方法分别存在与RegExp类(构造函数)与String包装类中。 其中RegExp构造函数(类)中定义了exec、test、toString、[Symbol.match]、[Symbol.matchAll]、[Symbol.replace]、[Symbol.search]、[Symbol.split]这几个方法。 而String包装类中定义了match、matchAll、search、replace、replaceAll、split这6个方法。实际这些方法在以正则表达式作…
正则表达式的标志(flags)在字面量中以字母形式出现在正则表达式字面量的末尾,也就是双反斜杠之后的位置,使用RegExp构造函数创建时也可以通过传入第二参数进行指定。它们的作用是用于修改正则表达式的默认行为。 "g"(全局匹配)、"i"(不区分大小写匹配)、"m"(多行匹配)、"s"("."元字符匹配换行符)、"u"(Unicdoe匹配)、"y"(粘性匹配)、"d"(提供捕获组更多信息),这些标志可以单独使用,也可以组合使用,以满足特定的匹配需求。 "g"标志 "g"标志是表示使用全局匹配模式。默认情况下正则表达…
使用字面量创建正则表达式 通过双斜杠之间的内容来创建正则表达式,并在第二个斜杠后注释该表达式的标志(flags)。这种方式创建的正则表达式会在Javascript文件加载后,立马编译该正则表达式字面量,并在代码的常量声明处引用编译状态。 使用RegExp构造函数创建正则表达式 调用RegExp的构造函数,并通过两个参数(第二个参数可选)来实例化创建一个正则表达式。这种方式创建的正则表达式只会在代码执行到该处时才会进行正则表达式的编译。 也可以将正则表达式的字面量传入构造函数中。 还可以将一个正则表达式对象作为参数传…
正则表达式是用于匹配字符串的特殊字符组合,本篇文章将会详细介绍正则表达式的字符含义与使用方法。 边界匹配 边界是指用来表明匹配内容的起始或终止部分,而边界匹配就是通过标识起始或终止的部分进行匹配。 匹配字符串的开头:^ "^"用于匹配字符串的开头,如果使用多行模式匹配,每行的开头都将会被匹配中。 ”regexp“表达式使用gi模式(全局不区分大小写),用于匹配字符串时,将只会匹配字符串其实的数字”1“。而”regexp_m“表达式使用gim模式(全局不区分大小写多行)则会进行多行匹配。 注意,当“^”出现在中括号里…
"\b":用于匹配一个英文单词的边界。什么是单词的边界?一、字符串的起始和末尾,二、除大小写字母、数字、下划线之外的字符(包括开头结尾、换位符等),也就是"\W"的范围:`[^A-Za-z0-9_]`。但是“\b”本身不匹配这些字符,他只是用于来表示正则表达式中英文单词的边界。 来看下面这个Demo: 当使用”\b“去匹配字符串中单词的时候,会得到上述结果。所以看出来划分单词边界的字符不仅仅是空格了,事实上连"-"字符都算做是用来区分单词边界。 但是请注意,不要试图使用"\b"匹配字符串中用来区分英文单词边界的字符…
本文将介绍Unicode、UTF-8、UTF-16、UCS-2区别和转换规则。 什么是Unicode? Unicode是字符编码集合,每个字符编码都对应着唯一的字符。这里面就包含了几乎世界上所有的字符,例如大小写字母、数字、希腊字母、汉字、特殊符号、甚至是emoji表情等等(具体编码所对应的字符可以搜索Unicode字符列表)。 在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。 比如小写字母“h”,Unicode编码为U+68;简体中文字符“梦”,Unicode编码为…