其他分享
首页 > 其他分享> > js正则表达式

js正则表达式

作者:互联网

正则表达式是一个有规则的表达式,在很多语言中都有正则表达式,主要是用做表单验证的,简单的说就是一个用于查找的通配符

正则表达式创建

  1. 构造函数
var regex = new RegExp( 正则表达式字符串[, 匹配模式] );
2) 字面量
	var regex = /正则表达式/;
	/正则表达式主体/修饰符(可选)

正则表达式修饰符(可选)

i:执行对大小写不敏感的匹配。
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m:执行多行匹配。
如:

var patt = /a/i
///a/i  是一个正则表达式。
//a 是一个正则表达式主体 (用于检索)。
//i  是一个修饰符 (搜索不区分大小写)。

使用字符串方法

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

字符串.search(‘指定的子字符串,或正则表达式相匹配的子字符串’) 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace(‘要替换的字符串或正则表达式’,‘替换字符串’) 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

基本元字符

1> . 表示任一个非换行的字符
	案例: foot   food foot写成 foo.
2> ()		表示分组和提高优先级
3> []		表示一个字符, 出现在 [] 中的字符
	用法: [abc]	出现 [] 中的任意一个字符
	匹配 a, 或 b, 或 c
	foo[dt]
4> |		或
	用法:	正则表达式|正则表达式
	foot 或 food
	foot|food
	foo(t|d)

扩展: 
	. 		任意的一个字符. 没有任何限制
	[]		是出现在[]中的一个字符. 认为 . 的限制级版本
			[abc]: a 或者 b 或者 c
	|		可以认为是 允许使用多个字符的 匹配
			a|b|c
			aa|bb|cc

转义字符: \
	表示点:   \.
	表示[]:   \[  \]
	表示():	  \(  \)
	表示\ :   \\

限定元字符

1> *	紧跟前面的一个字符或一组字符出现 0 次到多次
	表示: 123333333 后面很多 3
	正则: 1233*
		  123 					0 次
		  1233 					1 次
		  12333 				2 次
		  ...
		  1233333333333333333

	1(23)*
	表示:
		1 						0 次
		123 					1 次
		12323 					2 次
		1232323					3 次
2> +		紧跟在前面的字符出现 1 次到多次
	字符串: 123333333
	正则:   123+
		    123
		    1233
		    12333
3> ?		紧跟在前面的字符出现 0 次或 1 次
	在一段字符串中检查是否含有 http 协议的字符串或 https 协议的字符串
		http://.+|https://.+
		https?://.+
4	{数字}		紧跟在前面的字符出现指定次数
	a{3}	aaa
5	{数字,}		紧跟在前面的字符至少出现指定次数
	a{3,}	aaa, aaaaaaaaa, aaaaaaaaaaaaaa, ...
6 	{数字, 数字} 紧跟在前面的字符出现的次数范围
	a{1, 3}		a, aa, aaa

首尾正则表达式

^ 表示必须以 xxx 开头
^a    	必须以 a 开头的字符串
 a 		表示一个字符串中只要含有 a 就可以匹配

^a^a    非法的写法, ^ 如果是表示开头必须写在开头, 而且只能写一个

  $ 表示必须以 xxx 结尾
  a$	必须以 a 结尾

 分析	^a+$

简写元字符

\s	空白字符, 包括空格, tab, 回车换行等
\S 	非空白字符

js 中常常使用 [\s\S] 表示任意字符


\w	表示字符, 包含字母, 数字, 下划线. 
\W  非字符


\d  数字
\D 	非数字

否定元字符

语法:
[^字符]
不为这些字符的字符
[^abc]		不是 a 也不是 b 也不是 c 的字符

常用正则表达式

https://c.runoob.com/front-end/854

标签:表示,字符,匹配,正则表达式,js,紧跟,字符串
来源: https://blog.csdn.net/weixin_48549175/article/details/111402876