如何巧妙运用JavaScript正则表达式的技巧?

2026-03-30 08:281阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计584个文字,预计阅读时间需要3分钟。

如何巧妙运用JavaScript正则表达式的技巧?

一、字符类 + 概念:将单个的直接量字符放入方括号内即可组成字符类(character class)。注:红色表示不是特殊清晰的[...]-[...]——表示字符类中任意一个字符都满足,[~]-[~]——表示除字符外的任意一个字符都满足。

如何巧妙运用JavaScript正则表达式的技巧?

一、字符类

概念: 将单独的直接量字符放进方括号内就可以组合成字符类(character class)。

注:红色表示不是特别清楚的

[...] ——表示字符类中任意一个字符都满足

[^...]——除字符类中的任意一个字符都满足

.——除换行符(\n)和Unicode终止符之外的任意字符(不知道有什么用?)

\w——(word)任何ASCII单字字符,==[a-zA-Z0-9]

\W——任何非ASCII单字字符,==[^a-zA-Z0-9]

\s ——(space)任何Unicode空白字符

\S——任何非Unicode空白字符

\d——任何ASCII数字,等价于[0-9]

\D——除了ASCII数字,==[^0-9]

[\b]——退格直接量(不知道有什么用?)

二、重复

重复还有:{n,m},{n,},{n},?,+,*不一一解释

注:重复是匹配前一模式的一个或多个副本

三、非贪婪的重复(看是明白一点,做了实验后不明白了!)

复制代码 代码如下:
var s = "aaaaabab";
var tanlan = /a*b/;
var landu = /a*?b/;
var t = s.match(tanlan); //本以为t:aaaaabab,l:aaaaab
var l = s.match(landu); //这两个匹配出来的数组居然是一样的

四、选择、分组和引用

|:选择

匹配符号从左到右的表达式(匹配一个后不会再往后走了)

var regChoose = /\d{2}|\w{4}/; //要么两位小数,要么四个小写字母,匹配第一个就不匹配第二个


():组合

作用一:将单独的项目组合成子表达式

var regCombination = /(菜鸟吃虫)+虫吃菜/ //“菜鸟吃虫”一定要出现一次或更多次

作用二:取出字串,以后匹配


本文共计584个文字,预计阅读时间需要3分钟。

如何巧妙运用JavaScript正则表达式的技巧?

一、字符类 + 概念:将单个的直接量字符放入方括号内即可组成字符类(character class)。注:红色表示不是特殊清晰的[...]-[...]——表示字符类中任意一个字符都满足,[~]-[~]——表示除字符外的任意一个字符都满足。

如何巧妙运用JavaScript正则表达式的技巧?

一、字符类

概念: 将单独的直接量字符放进方括号内就可以组合成字符类(character class)。

注:红色表示不是特别清楚的

[...] ——表示字符类中任意一个字符都满足

[^...]——除字符类中的任意一个字符都满足

.——除换行符(\n)和Unicode终止符之外的任意字符(不知道有什么用?)

\w——(word)任何ASCII单字字符,==[a-zA-Z0-9]

\W——任何非ASCII单字字符,==[^a-zA-Z0-9]

\s ——(space)任何Unicode空白字符

\S——任何非Unicode空白字符

\d——任何ASCII数字,等价于[0-9]

\D——除了ASCII数字,==[^0-9]

[\b]——退格直接量(不知道有什么用?)

二、重复

重复还有:{n,m},{n,},{n},?,+,*不一一解释

注:重复是匹配前一模式的一个或多个副本

三、非贪婪的重复(看是明白一点,做了实验后不明白了!)

复制代码 代码如下:
var s = "aaaaabab";
var tanlan = /a*b/;
var landu = /a*?b/;
var t = s.match(tanlan); //本以为t:aaaaabab,l:aaaaab
var l = s.match(landu); //这两个匹配出来的数组居然是一样的

四、选择、分组和引用

|:选择

匹配符号从左到右的表达式(匹配一个后不会再往后走了)

var regChoose = /\d{2}|\w{4}/; //要么两位小数,要么四个小写字母,匹配第一个就不匹配第二个


():组合

作用一:将单独的项目组合成子表达式

var regCombination = /(菜鸟吃虫)+虫吃菜/ //“菜鸟吃虫”一定要出现一次或更多次

作用二:取出字串,以后匹配