正则表达式


1.最简单的正则表达式:关键词原文 - 必须跟原文匹配

2.备选字符集:规定某一位上的字符串的备选列表集

如果备选字符集的unicode号是连续的话,可以使用 - 连接开头和结尾的字符

比如:[0123456789] -> [0-9] 一位数字,只代表一个数的备选字符集

​ [a-z] 一位小写字母

​ [A-Z] 一位大写字母

​ [0-9a-zA-Z] - 一位数字或字母

3.预定义字符集:针对常用的备选字符集提供的更加简化的符号

​ [0-9] -> \d 1位数字

​ [0-9a-zA-Z_] -> \w 1位数字字母或下划线,没有下划线不能简化

​ 空字符 -> \s 1位空字符(换行enter,缩进tab,空格)

​ .(一个点) -> 1位除了换行以外的所有字符

^ -> 匹配输入字符串的开始位置。

4.量词:规定字符集出现的次数,默认一个量词仅修饰左侧的相邻的字符集

确定数量

{m,n} -》 至少m次,最多n次

{m,} -> 出现m次及以上

{m} -》 必须出现m次

不确定数量

​ * -》 可有可无,多了不限

​ + -》 1次及以上

​ ? -》 可有可无,最多出现1次

5.选择和分组

选择: |

分组: ()

何时使用:希望多个字符集被同一个量词修饰的时候

比如:手机号 0086 18838299097

​ +86 18838299097

​ 18838299097

手机号的正则表达式:(**+86|0086)?1[3-9]\d{9}

字符串与正则表达式有冲突,加\转译一下。后面加?表次数。

var line = readline();

var arr = line.split(/[^A-Za-z]+/).reverse().join(‘ ‘)

console.log(arr);


文章作者: 何不去高处
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 何不去高处 !