Java教程

正则表达式(JavaScript)

本文主要是介绍正则表达式(JavaScript),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、正则表达式概述

正则表达式是用于匹配字符串中字符组成的模式。
功能:
1.匹配:用于验证表单等
2.替换:过滤掉页面中的敏感词
3.提取:从字符串中获取我们想要的特定部分

二、正则表达式在JavaScript中的使用

1.创建正则表达式
方法一:通过调用RegExp对象的构造函数创建

var 变量名  =  new  RegExp(/表达式/);

方法二:通过字面量创建

var 变量名  =  /表达式/;

2.test() ;用于检测字符串是否符合该规则,返回值为ture 或false.

三、正则表达式中的特殊字符

一个正则表达式可以由简单的字符构成,比如/abc/;也可以是简单和特殊字符的组合,比如/ab*c/。其中,特殊的字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如^ +$。

我们把正则表达式中的特殊字符串中的字符分为:边界符、字符类、量词符和预定义符。

1.边界符:提示字符所处的位置。

^表示匹配行首的文本(以谁开始)
$表示匹配行尾的文本(以谁结束)

若^和$在一起,表示必须是精准匹配
2.字符类:有一系列字符可供选择,只要匹配其中一个就行,所有可供选择的字符都放在方括号内。

(1)[ ]方括号:

/[abc]/.test('andy');   //ture

只要包含abc中任意一个字符,都返回ture
(2)[-]方括号内部范围符

/^[a-z]$/.test('over');   //ture

-表示范围,这里表示a到z的26个英文字母都符合
(3)[^]方括号内取反符

/[^abc]/.test('andy');    //false

方括号内部加上^表示取反,只要包含方括号内字符,都为false
注意边界符^区别,边界符是写到方括号外面的
(4)字符组合

/[a-z1-9]/.test('andy3');   //ture

这里表示包括a到z的26个英文字母和1到9的数字都可以。
3.量词符:用于设定某个模式出现的次数

量词符作用
*重复0次或更多次
+重复1次或更多次
重复1次或0次
{n}重复 n次
{n,}重复n次到更多次
{n,m}重复n次到m次

4.预定义类:某些常见模式的简写方式

预定义符作用
\d相当于[0-9]
\D相当于[^0-9]
\s相当于[a-zA-Z0-9]
\S相当于[^a-zA-Z0-9]
\w匹配空格,相当于[\t\r\n\v\f]
\W匹配空字符,相当于[^\t\r\n\v\f]

四、正则表达式中的替换

1.replace();可以实现替换字符串操作

stringObject.replace(regexp/substr,replacement);

第一个参数表示被替换的字符串,第二个参数表示替换为的字符串,返回一个替换完的新字符串。
2、正则表达式参数

/表达式/[swich]

swich按照什么样的模式来匹配
(1)g:全局匹配
(2)i:忽略大小写
(3)gi:全局匹配+忽略大小写

五、常用的正则表达式

常用的正则表达式可参考菜鸟教程http://c.runoob.com/front-end/854

这篇关于正则表达式(JavaScript)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!