js中的RegExp对象代表正则表达式。
var 变量名 = new RegExp("正则表达式","匹配模式");
或者
var 变量名 = /正则表达式/匹配模式;
如 var reg = /^A[A-z]{2,}/ig; 以A开始后面跟着最少两个字母的,i代表不区分大小写,g代表全局匹配
i:忽略大小写
g:全局匹配模式
ig:忽略大小写且全局匹配模式
var str="abc123cdef456";
reg = /[A-z]/ig;
reg.test(str); //返回true
^放在【】里面表示除去 [^0-9],不包含0-9
[^a-z]:除了任意小写字母
[^A-Z]:除了任意大写字母
[^A-z]:除了任意字母
[^0-9]:除了任意数字
次数
{n}
:正好出现n次
{m,}
:出现m次及以上
{m,n}
:出现m-n次
+
:至少一个,相当于{1,}
*
:0个或多个,相当于{0,}
?
:0个或1个,相当于{0,1}
开始结束
^
:表示开头,注意它在[^字符序列]
表达的意思不一样
$
:表示结尾
转义字符 \
\. ==== .
\\ ==== \
\w
:任意字母、数字、_,相当于[A-z0-9_]
\W
:除了字母、数字、_,相当于[^A-z0-9_]
\d
:任意的数字,相当于[0-9]
\D
:除了任意的数字,相当于[^0-9]
\s
:空格
\S
:除了空格
\b
:单词边界
\B
:除了单词边界
var str =" abc 456 ";
var reg = /^\s*|\s*$/ig;
str.replace(reg,"111"); str="111abc 456111111";
\b 的使用
var str = "hello world" var reg = /\world\b/; console.log(reg.test(str));