温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

javaScript正则表达式代码怎么写

发布时间:2022-10-18 16:27:15 来源:亿速云 阅读:89 作者:iii 栏目:编程语言

本文小编为大家详细介绍“javaScript正则表达式代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“javaScript正则表达式代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

javaScript 正则表达式

RegExp对象

‘\b’:代表单词边界,比如/\bis\b/会匹配一句话中的is单词,不会匹配单词中的is

‘()’:小括号可以用于分组,以便获取到正则表达式匹配的内容,用1可以获取第一个小括号的内容,用2可以获取第二个小括号的内容。以此类推

g:global全文搜索,不添加,搜索到第一个匹配停止

i:ignore case 忽略大小写,默认大小写敏感

m:multiple lines多行搜索

var reg = new RegExp(‘\b要替换的文本\b’, ‘g’);
“文本”.replace(reg, “替换后的文本”)

字面量
var reg = /\b文本\b/g;

元字符

正则表达式由两种基本字符类型组成

1.原义文本字符:代表它原来含义的字符 例如:abc、123

2.元字符:在正则表达式中有特殊意义的非字母字符

例如:\b表示匹配单词边界,而非\b
在正则表达式中具体特殊含义的字符:* + ? $ ^ . \ () {} []

元字符:

\t:水平制表符;

\v:垂直制表符;

\n:换行符;

\r:回车符;

\0:空字符;

\f:换页符;

\cX:与X对应的控制字符

字符类

使用元字符[]来构建一个简单的类,

所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符
表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类字符

字符类取反

使用元字符^创建反向类/负向类

反向类的意思是不属于某一类的内容

表达式[^abc]表示不是a或b或c的内容

"a1b2c3".replace(/[abc]/g,"x"); // 匹配结果 : x1x2x3

"a1b2c3".replace(/[^abc]/g,"x"); // 取反  匹配结果 : axbxcx

范围类

范围类:[a-z],[0-9]等等,可以连写:[a-zA-Z]

如果要匹配里面的横杠“-”,可以在后面加一个横杠“-”:[0-9-]

“2016-09-05”.replace(/[0-9-]/g,”X”) => XXXXXXXXXXX

预定义类

^在中括号中[]表示取反
不在[]表示以xxx开始

\d 数字
\D 非数字
\s 空白符
\S 非空白符
\w 单词字符(字母数字下划线)等同于 [a-zA-Z_0-9]
\W 非单词字符
. 除了回车符和换行符以外的所有字符

正则表达式还提供了几个常用的边界匹配字符:

^ 开头
$ 结尾
\b 单词边界
\B 非单词边界

量词

? 最多出现一次
+ 至少出现一次
* 任意次
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次

JS贪婪模式和非贪婪模式

正则表达式的匹配模式有:贪婪模式,非贪婪模式。默认模式为贪婪模式,设置非贪婪模式需要在量词后面添加疑问号“?”。

例如:

‘123456789’.match(/\d{3,6}?/g)//匹配结果为['123456']

‘123456789’.match(/\d{3,6}?/g) //匹配结果为 ['123','456','789']

分组

使用()可以达到分组的功能,使量词作用于分组

| 或

反向引用 $ 捕获分组

'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,$1/$2/$3);// 匹配结果  2015/12/25

忽略分组

分组:使用“()” ,忽略分组:“(?:)”。忽略分组的意思是说,虽然分了组,但是不能通过”$”来获取改组的内容。

忽略分组 - 不希望捕获某些分组,只需要在分组内加上 “?:” 就可以
例: (?:Byron)

前瞻(js不支持后顾)

exp(?=assert) 正向前瞻
exp(?1assert) 负向前瞻

前瞻 匹配某个正则之后 再检查 后面的匹配规则

正向前瞻(/\w(?=\d)/);//匹配到单词之后,在检查后面是数字

负向前瞻(/\w(?!\d)/)://匹配到单词之后,在检查后面不是数字

对象属性

g是否全文搜索

i是否大小写敏感

m是否多行搜索

l当前表达式匹配内容的最后一个字符的下一个位置

s正则表达式的文本内容

test和exec 方法

reg.test(“str”);// 测试参数是否匹配正则表达式reg

字符串对象的方法

str.search(reg);//search返回第一个匹配结果的index,查找不到返回-1;search方法是忽略全局匹配的

str.match(reg);//返回数组,match方法 是否具有标志g对结果影响很大,没有标志g只执行一次匹配,没有找到文本,返回null,否则返回数组

str.split(reg);//返回数组

str.replace(reg,str1);//

string.replace(str, replaceStr)

string.replace(reg, replaceStr)

string.replace(reg, function)

读到这里,这篇“javaScript正则表达式代码怎么写”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI