首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

讲给前端正则表达式(1):基本概念

如果想要匹配是一个点 . 字符该怎么办? 反斜杠斜杠 / 用于将特殊字符含义切换为普通字符。所以是可以在文本中搜索点 . 字符,并且这个点不会被解释为特殊字符。...正如你在 ASCII 表上看到那样,[A-z] 也将与符号[、 \、 ]、 ^、 _ 和 ` 相匹配,所以请谨慎使用 [A-Za-z],而是使用标志来忽略大小写。...如果用斜杠定义正则表达式的话,就在斜杠后添加它们。如果用 RegExp 构造函数,则将它们作为第二个参数。...最重要标志是: i:忽略大小写 使用这个标志,搜索时不区分大小写: /dog/i.test('dog'); // true new RegExp('dog', 'i').test('DoG'); 就这么简单...它会返回一个新字符串,如果字符串内容能够与模式匹配,则会替换其内容。你可以使用字符串或正则表达式之类模式。棘手是如果你用字符串去执行这个操作,则无法替换所有出现模式,只能替换一个模式。

1.2K10

JavaScript正则表达式两种写法

JavaScript正则表达式可以使用正则表达式特殊符号(/ /)来声明,也可以采用正则表达式对象(RegExp)来声明。...1、使用正则表达式符号 正则表达式符号为”/ /”,即为2个斜杠,中间为匹配规则。JavaScript中类似的特殊符号还有数组“[]”, 对象“{}”。...        function test2(){             var str = ‘121%llskljfls.jpg’;             var reg = new RegExp...()方式,不能再添加斜杠(“/”)’);             } 使用i参数,则忽略大小写。...竖线为或选择符,意即括号中模式匹配上任何一种皆可。 2、使用正则表达式对象 使用正则表达式对象时,匹配规则不再需要“/ /”(2个斜杠),如果加上,结果就不对了。

30820
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript 正则表达式全面总结

大家好,又见面了,我是你们朋友全栈君。 如果您发现错误,请一定要告诉我,拯救一个辣鸡(很帅)少年就靠您了! 本文适合有 JavaScript 基础 && 面向搜索引擎书写正则的人群。...直接量语法创建 正则表达式直接量定义为包含在一对斜杠(/)之间字符。 2. 构造函创建 可以通过 RegExp() 构造函数可以实现动态创建正则表达式。RegExp 第二个参数是可选。...直接量字符 正则表达式中所有字母和数字都是按照字面含义进行匹配,其他非字母字符需要通过反斜杠(\)作为前缀进行转移,如 \n 匹配换行符。...没有匹配子串返回 -1 。 如果参数不是正则表达式,将会通过 RegExp 构造函数转换成正则表达式。它会忽略正则修饰符 g。...注意即使两次匹配不是同一个字符串,lastIndex 还是会连续生效

87640

JavaScript正则表达式模式匹配教程,并且附带充足实战代码

pattern = /javascript/ 这样双正斜杠包裹一个匹配模式写法就是RegExp直接量,这种方法其实是new RegExp()一种能语法糖写法。...其实 \b 作用就是将匹配点放到一个字符串前面(\b放前面)或后面(\b放后面) [^a-zA-Z0-9] 处,也可以理解为 \b 可以替换那些特殊字符, \b 不会作为匹配内容。...=p)表示接下来字符要与p匹配p不会作为内容返回 先来看一个例子 let pattern = /java(script)?(?...这个例子中 str 里, java后面紧跟着就是script,所以匹配失败。那么成功例子就是这样 let pattern = /java(?!...(pattern) // 返回 ['JavaScript'] 匹配成功 我们可以看到,匹配忽略了大小写影响,仍然匹配成功了 字符 g 我们之前匹配字符串时,都是匹配到第一个就结束匹配返回内容

1.1K20

javascript正则表达式 教程_js正则表达式匹配字符串

pattern = /javascript/ 这样双正斜杠包裹一个匹配模式写法就是RegExp直接量,这种方法其实是new RegExp()一种能语法糖写法。...其实 \b 作用就是将匹配点放到一个字符串前面(\b放前面)或后面(\b放后面) [^a-zA-Z0-9] 处,也可以理解为 \b 可以替换那些特殊字符, \b 不会作为匹配内容。...=p)表示接下来字符要与p匹配p不会作为内容返回 先来看一个例子 let pattern = /java(script)?(?...这个例子中 str 里, java后面紧跟着就是script,所以匹配失败。那么成功例子就是这样 let pattern = /java(?!...(pattern) // 返回 ['JavaScript'] 匹配成功 我们可以看到,匹配忽略了大小写影响,仍然匹配成功了 字符 g 我们之前匹配字符串时,都是匹配到第一个就结束匹配返回内容

3.3K10

正则表达式必知必会 - 匹配单个字符

. 匹配任意单个字符。         在同一个正则表达式里允许使用多个 . 字符,它们既可以共同出现(一个接着一个——..将匹配连续任意两个字符),也可以分别出现在模式不同位置。...字符本身而不是它在正则表达式里特殊含义。为此必须在 . 前面加上一个\(反斜杠)字符来对它进行转义。\ 是一个元字符(metacharacter,表示“这个字符有特殊含义,代表不是字符本身”)。...表示匹配任意单个字符,\. 表示匹配 . 字符本身。在 MySQL 中,转义正则表达式特殊字符需要使用两个反斜杠 \\。...用两个反斜杠转义,第一个 \ 告诉 MySQL 后面的一个 \ 是普通字符,而第二个 \ 告诉正则表达式引擎其后 . 为普通文本字符,所以结果只匹配了 sales.xls。...相应转义序列是两个连续斜杠字符 \\。

23930

59分钟学会正则表达式

使用反斜杠“\”可以忽略元字符,使得元字符功能与普通字符一样。所以,正则表达式 c.t 表示“找到字母c,然后是一个句号(“.”)...[1-9]与[123456789]相同,都是匹配任意一个非零数字。 练习 使用目前我们已经讲解正则表达式相关知识,在字典中匹配找到含有最多连续元音单词,同时找到含有最多连续辅音单词。...重复次数范围可以是开区间 a{1,}表示匹配一个或一个以上连续字符a。依然是匹配最长字符串。当找到第一个a之后,正则表达式会尝试匹配尽量多个连续字母a。 .{0,}表示匹配任意内容。...匹配一个反斜杠或者一个左边方括号或者一个右边方括号, var regExp = /[\[]]/; var regExp = /\s/; 和 var regExp = /[ \t\r\n]/; 是等价...* + | ( ) ^ $ 在字符类中使用元字符: [ ] \ - ^ 使用反斜杠可以忽略元字符: \ 致谢 正则表达式非常常用而且非常有用。

1.5K60

正则表达式必知必会 - 使用元字符

在元字符前面加上一个反斜杠就可以对它进行转义。因此,\. 匹配.,\[ 匹配[。每个元字符都可以通过在前面加上一个反斜杠方法来转义,这样匹配就是该字符本身而不是其特殊元字符含义。...例子中文本是一个包含反斜杠字符文件路径(用于 Windows 系统)。假设想在一个 Linux 系统上使用这个路径,也就是说,需要把这个路径里斜杠字符 \ 全部替换为斜杠字符 /。...因此,搜索 \n\n 将匹配两个连续行尾标记,而这正是两条记录之间空白行。        ...一般来说,需要匹配 \r、\n 和 \t(制表符)等空白字符情况比较多见,而需要匹配其他空白字符情况要相对少一些。. 和 [ 是元字符,前提是没有对它们进行转义。...在这种情况下,匹配文本不区分字母大小写,特殊字符(比如 \d)会区分。 2.

19650

Linux命令(32)——grep命令

动作有:read(默认)像普通文件一样读取目录;skip:忽略指定目录;recurse:递归读取指定目录下所有文件,此操作等同于-r选项。...-e :设置查找文件内容匹配模式。 -E,--extended-regexp:使用扩展正则表达式解释匹配模式。...-G,--basic-regexp:使用基本正则表达式解释匹配模式。 -h,--no-filename:查询多文件时不显示文件名。...-i,--ignore-case:忽略字符大小写。 -I:忽略二进制文件。 -l,--files-with-matches:只输出包含匹配字符文件名。...grep -n 'test' aa bb cc (5)打印aa中包含有至少5个连续小写字符字符串所有行 grep '[a-z]\{5\}' aa 注意,这里必须使用双引号或者单引号将查找pattern

4.4K30

.gitignore 不生效问题

所以想使用 .gitignore 文件忽略这些文件夹。 然后在 .gitignore 添加忽略后,还是不生效。如下: ?...以#开头行用作注释。("\") 对于以哈希开头模式,请在第一个哈希之前放置反斜杠(“ \”)。 除非使用反斜杠(“ \”)引号,否则将忽略尾随空格。 可选前缀“ !”..." ** " 模式中与完整路径名匹配两个连续星号(“ ”)可能具有特殊含义: 前导“ **”后跟斜杠表示在所有目录中均匹配。...尾部“ /”与内部所有内容匹配。例如,“ abc/”将目录“ abc” 内所有文件(相对于.gitignore文件位置)以无限深度进行匹配斜杠后跟两个连续星号,然后斜杠匹配零个或多个目录。...例如,“ a/**/b”匹配“ a/b”,“ a/x/b”,“ a/x/y/b”等。 其他连续星号被视为常规星号,并将根据之前规则进行匹配

3.4K21

JavaScript 编程精解 中文第三版 九、正则表达式

使用RegExp构造器时,需要将模式书写成普通字符串,因此反斜杠使用规则与往常相同。 第二种写法将模式写在斜杠之间,处理反斜杠方式与第一种方法略有差别。...首先,由于斜杠会结束整个模式,因此模式中包含斜杠时,需在斜杠前加上反斜杠。此外,如果反斜杠不是特殊字符代码(比如\n)一部分,则会保留反斜杠,不像字符串中会将其忽略,也不会改变模式含义。...,而且你可以连续使用多个管道符号,表示从多于两个模式中选择一个备选项进行匹配。...由于你只有在程序运行时才知道姓名,因此你无法使用基于斜杠记法。 你可以构建一个字符串,并使用RegExp构造器根据该字符串构造正则表达式对象。 这里给出一个示例。...由于我们创建正则表达式时使用是普通字符串,而非使用斜杠包围正则表达式,因此如果想创建\b边界,我们不得不使用两个反斜杠RegExp构造器第二个参数包含了正则表达式选项。

1.6K60

MySQL WHERE子句内使用正则表达式搜索

正则表达式之初见 下面的语法检索列prod_name包含文本1000所有行 SELECT * FROM products WHERE prod_name REGEXP '1000'; 使用正则表达式语言中一个特殊字符...LIKE匹配整个列。如果被匹配文本在列值中未出现,LIKE将不会找到它,相应行也不被返回(除非使用通配符)。...而REGEXP在列值内进行匹配,如果被匹配文本在列值中出现,REGEXP将会找到它,相应行将被返回。REGEXP也能匹配整个列(和LIKE相同作用)使用^和$定位符即可。...多数正则表达式实现使用单个反斜杠转义特殊字符,以便能使用这些字符本身。MySQL要求两个反斜杠(MySQL自己解释一个,正则表达式库解释另一个)。...正则表达式之定位元字符 ^表示文本开始 $表示文本结尾 [[:<:]]表示词开始 [[:>:]]表示词结尾 例如匹配文本以1开头文本

1.3K50

1、正则表达式

3、正则表达式定义 JS中定义正则表达式有两种方式,一种是通过构造函数,一种是通过/…/,也就是两个斜杠。...(‘study’); //表示含有study,(默认区分大小写) var reg = new RegExp('study', 'ig'); // 其中i 表示忽略大小写,g 表示全局匹配 3.2、...该属性可读写,但是只在进行连续搜索时有意义,详细介绍请看后文。 RegExp.prototype.source //返回正则表达式字符串形式(不包括反斜杠),该属性只读。.../将匹配b,ba ,相当于{0,1} x|y // 匹配x或y ,/a|b/ 将匹配只要出现a或者b字符串,不含a与b匹配 {n} // 精确匹配n次 ,/d{4}/ 将匹配,出现连续...4个d字符串 {n,} // 匹配n次以上 ,/d{4,}/将匹配,出现连续4个及4个以上d字符串 {n,m} // 匹配n-m次,/d{4,8}/将匹配,出现连续4到8个d字符串

51720

深入剖析vscode工具函数(八)解密复杂正则表达式

匹配双引号内字符串:**"[^"\\]*(?:\\.[^"\\]*)*"** **"**:匹配双引号; **[^"\\]***:匹配非双引号和非反斜杠字符零次或多次; **(?....[^"\\]*)***:非捕获分组,匹配转义字符后任意字符,以及随后非双引号和非反斜杠字符零次或多次;这个分组可以重复零次或多次; **"**:匹配双引号。...**:非捕获分组,匹配星号或斜杠非星号和非斜杠字符零次或多次;这个分组可以重复零次或多次,尽量少重复(懒惰匹配); **\*\/**:匹配 */。...匹配行注释:**\/{2,}.*?(?:(?:\r?\n)|$)** **\/{2,}**:匹配两个或更多斜杠; **.*?**:匹配任意字符零次或多次,尽量少重复(懒惰匹配); (?:(?...以下是 stripComments 函数逐行解析: 使用 content.replace(regexp, ...) 方法查找并替换 content 中与正则表达式 regexp 匹配内容。

33420

正则表达式入门

3、正则表达式定义 JS中定义正则表达式有两种方式,一种是通过构造函数,一种是通过/…/,也就是两个斜杠。...(‘study’); //表示含有study,(默认区分大小写) var reg = new RegExp('study', 'ig'); // 其中i 表示忽略大小写,g 表示全局匹配 3.2、...该属性可读写,但是只在进行连续搜索时有意义,详细介绍请看后文。 RegExp.prototype.source //返回正则表达式字符串形式(不包括反斜杠),该属性只读。.../将匹配b,ba ,相当于{0,1} x|y // 匹配x或y ,/a|b/ 将匹配只要出现a或者b字符串,不含a与b匹配 {n} // 精确匹配n次 ,/d{4}/ 将匹配,出现连续...4个d字符串 {n,} // 匹配n次以上 ,/d{4,}/将匹配,出现连续4个及4个以上d字符串 {n,m} // 匹配n-m次,/d{4,8}/将匹配,出现连续4到8个d字符串

86020

红宝书 📒 5.2 基本引用类型- RegExp

匹配模式标记 g :全局模式,表示查找字符全部内容 i :不区分大小写,表示查找匹配忽略pattern和字符串大小写 m :多行模式,表示查找到一行文本末尾会继续查找 y :粘附模式,表示只查找从...[0-9] \D 匹配一个非数字字符 等价于[^0-9] let pa = /[bc]at/i 匹配第一个"bat"或"cat" ,忽略大小写 let pa = /\[bc]at.../i 匹配第一个"[bc]at" 忽略大小写 let pa = /.at/gi 匹配所有以"at"结尾三字符组合,忽略大小写 let pa = /\.at/gi...匹配所有".at"忽略大小写 要想使用元字符,必须进行转义。...source:正则表达式字面量字符串(不是传给构造函数模式字符串),没有开头和结尾 斜杠。 flags:正则表达式标记字符串。始终以字面量而非传入构造函数字符串模式形式返回(没有前后斜杠)。

39650

JavaScript 高级程序设计(第 4 版)- 基本引用类型

元字符在正则表达式中都有一种或多种特殊功能,所以要匹配元字符本身就需要用反斜杠转义 // 匹配第一个“bat”或“cat”,忽略大小写 let pattern1 = /[bc]at/i; // 匹配第一个...“[bc]at”,忽略大小写 let pattern2 = /\[bc\]at/i; // 匹配所有以“at”结尾三字符组合,忽略大小写 let pattern3 = /.at/i; // 匹配所有“....at”,忽略大小写 let pattern4 = /\.at/i; 正则表达式也可以使用RegExp构造函数来创建,接收两个参数:模式字符串和(可选)标记字符串 因为RegExp模式参数是字符串...(RegExp.lastParen); // s 捕获组上一次匹配 } # 模式局限 缺少特性 \A和\Z锚(分别匹配字符串开始和末尾) 联合及交叉类 原子组 x(忽略空格)匹配模式 条件式匹配...match(),返回第一个元素时与整个模式匹配字符串,其余元素则是与表达式中捕获组匹配字符串 search(),返回模式第一个匹配位置索引 localeCompare() # 例内置对象

71120

JavaScript正则表达式(Regular Expression):RegExp对象

新建正则表达式方法有两种: 1.使用字面量(斜杠/开始和结束)  注:字面量:表示固定值符号。可以简单理解为表示值最简单、最基本写法。...第二部分:RegExp对象属性和方法 2.1属性 2.1.1:修饰符,返回布尔值 ignoreCase:忽略大小写;i;属性只读 global:全局匹配;g;属性只读 multiline:多行匹配;m...3.2 String.prototype.search():返回第一次匹配成功在整个字符串位置;否则返回-1 同样,设置lastIndex属性对search()无效;并且search()会忽略g修饰符...,所以要想匹配它们,得进行转义(在前面加上反斜杠\);比如匹配^,写成\^ 需要转义12个字符:^;.;[;$;(;);|;*;+;?...;{和\\ 注意:如果使用RegExp生成正则对象,转义需要两个反斜杠,因为字符串内部转义需要一次\ 1 //匹配'+abc'字符串 2 var reg13=new RegExp('\\+abc');

86650
领券