JS学习笔记:字符串操作和正则表达式
1.字符串的操作
charAt() | 返回在指定位置的字符。 |
---|---|
concat() | 连接两个或更多字符串,并返回新的字符串。 |
indexOf()* | 返回某个指定的字符串值在字符串中首次出现的位置。 |
includes()* | 查找字符串中是否包含指定的子字符串。是返回true,否则false |
lastIndexOf() | 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 |
replace() | 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割为字符串数组。 |
startsWith() | 查看字符串是否以指定的子字符串开头。 |
endsWith() | 查看字符串是否以指定的子字符串结尾。 |
*substr(起始索引,提取的长度) | 从起始索引号提取字符串中指定数目的字符。 |
*substring() | 提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() | 把字符串转换为小写。 |
toUpperCase() | 把字符串转换为大写。 |
trim() | 去除字符串两边的空白。 |
toString() | 返回一个字符串。 |
2.正则表达式
2.1什么是正则表达式?
正则表达式,又称规则表达式**。**(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
2.2为什么要用正则表达式?
在给定一个正则表达式和另一个字符串的情况下,我们可以达到如下目的:
1.给定的字符串是否符合正则表达式的过滤逻辑;(判断字符串符不符合要求)。
2.可以通过正则表达式,从字符串中获取我们想要的特定部分。
2.3正则表达式怎么用?
2.3.1创建正则表达式
//附加参数:g(global)全局匹配 i(ignoreCase):不区分大小写
var reg = new RegExp("表达式","附加参数");
var reg = /表达式/附加参数
2.3.2使用正则表达式
test() | 检索字符串中是否存在指定的值。存在返回 true 不存在返回 false。 |
---|---|
exec() | 检索字符串中的正则表达式的匹配。如果存在返回该字符串,不存在返回null |
2.3.3正则表达式常用字符含义
符号 | 含义 |
---|---|
. | 匹配任意字符 一位 |
\ | 转义字符:在正则中有很多符号都有特殊含义,当我们不想使用特殊含义,只需要使用符号本身时,可以使用\转义符。 |
[] | 表示范围 |
{} | 限定位数 {n}代表匹配n位;{n,}代表至少匹配n位;{n,m}匹配n-m位 |
* | 匹配前边子表达式任意次 |
+ | 匹配前边子表达式1次或者多次 (大于等于1次) |
? | 匹配前边子表达式0次或者1次 |
^ | 匹配行首 以 XXX 开头 |
$ | 匹配末尾 以XXX结尾 |
| | 表示或者 |
() | 表示一个整体 |
[^…] | 不在括号字符范围内的任意字符 |
\w | 任何单字字符, 等价于[a-zA-Z0-9] |
\W | 任何非单字字符,等价于[ ^a-zA-Z0-9] |
\s | 任何空白符,等价于[\t \n \r \f \v] |
\S | 任何非空白符,等价于[ ^\ t \ n \ r \ f \ v] |
\d | 任何数字,等价于[0-9] |
\D | 除了数字之外的任何字符,等价于[ ^0-9] |