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);