javaScript常见输出方式( 十 )


字符边界
使用字符边界符用于控制匹配内容的开始与结束约定 。
边界符说明
^
匹配字符串的开始
$
匹配字符串的结束,忽略换行符
元子字符 字符列表 元字符说明示例
\d
匹配任意一个数字
[0-9]
\D
与除了数字以外的任何一个字符匹配
[^0-9]
\w
与任意一个英文字母,数字或下划线匹配
[a-zA-Z_]
\W
除了字母,数字或下划线外与任何字符匹配
[^a-zA-Z_]
\s
任意一个空白字符匹配,如空格,制表符\t,换行符\n
[\n\f\r\t\v]
\S
除了空白符外任意一个字符匹配
[^\n\f\r\t\v]
.
匹配除换行符外的任意字符
let hd = "houdunren 2010";console.log(hd.match(/\d/g)); //["2", "0", "1", "0"]
原子表
在一组字符中匹配某个元字符,在正则表达式中通过元字符表来完成,就是放到[] (方括号)中 。
[#]( 正则表达式.html#使用语法)使用语法 原子表说明
[]
只匹配其中的一个原子
[^]
只匹配"除了"其中字符的任意一个原子
[0-9]
匹配0-9任何一个数字
[a-z]
匹配小写a-z任何一个字母
[A-Z]
匹配大写A-Z任何一个字母
实例操作
使用[]匹配其中任意字符即成功,下例中匹配ue任何一个字符,而不会当成一个整体来对待
const url = "houdunren.com";console.log(/ue/.test(url)); //falseconsole.log(/[ue]/.test(url)); //true
原子组
下面使用原子组匹配 h1 标签,如果想匹配 h2 只需要把前面原子组改为 h2 即可 。
const hd = `houdunren.com`;console.log(/<(h1)>.+<\/\1>/.test(hd)); //true
基本使用
没有添加 g 模式修正符时只匹配到第一个,匹配到的信息包含以下数据
变量说明
0
匹配到的完整内容
1,2…
匹配到的原子组
index
原字符串中的位置
input
原字符串
命名分组
在match中使用原子组匹配,会将每个组数据返回到结果中
重复匹配 基本使用
如果要重复匹配一些内容时我们要使用重复匹配修饰符,包括以下几种 。
符号说明
*
重复零次或更多次
+
重复一次或更多次
重复零次或一次
{n}
重复n次
{n,}
重复n次或更多次
{n,m}
重复n到m次
因为正则最小单位是元字符,而我们很少只匹配一个元字符如a、b所以基本上重复匹配在每条正则语句中都是必用到的内容 。
默认情况下重复选项对单个字符进行重复匹配,即不是贪婪匹配
let hd = "hdddd";console.log(hd.match(/hd+/i)); //hddd
使用原子组后则对整个组重复匹配
【javaScript常见输出方式】let hd = "hdddd";console.log(hd.match(/(hd)+/i)); //hd