js 正则获取匹配部分最后一个内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 正则获取匹配部分最后一个内容相关的知识,希望对你有一定的参考价值。

width:100px;height:100px;cursor:pointer

求匹配出 ; 和:之间的最后字符
分号 内容(字母) 冒号
求出内容这部分
本例应该是:cursor
写错了
求匹配出 ; 和:之间的最后字符
分号 内容(字母) 冒号
求出内容这部分
本例应该是:cursor

输入: width:100px;height:100px;cursor:pointer
正则:(?=[^;]+$).+(?=:)
结果:cursor(即最后一个;和:之间的内容)
已测试可行(两个()子匹配是正的前向查找,不出现在匹配结果中)。
希望采纳!如有问题,欢迎继续交流!
参考技术A 可以用下面的正则匹配
/.*(;\w+):[^:]+$/
给你个测试例:
javascript:alert(' width:100px;height:100px;cursor:pointer'.replace(/.*(;\w+):[^:]+$/gi,'$1'));
如果结果不要分号,就把分号写到括号外追问

谢谢。

[javascript] 获取正则子表达式里的内容

js中进行测试捕获正则小括号中的子表达式,可以用下面这个捕获组来实现


捕获组的定义:
捕获组简单来说就是把正则表达式中用括号匹配的内容,保存到内存中,方便调用。
js中每一个括号匹配的内容可以被RegExp对象捕获到(最多匹配九个,可以通过返回一个数组索引来取得所有的括号匹配项.),存储在RegExp.$1…中。
需要说明的是正则表达式中()不能匹配到内容的,就不是捕获组

 

比如测试下面这个正则是否起作用

console.log(/^\\/mail\\/.*\\/skins\\/.*\\/(\\d+)\\/(.*)$/.test("/mail/sinamail66/skins/151118/35/writeReceive.png?v=12041814"))

获取这个地址中的最后两项内容 /mail/sinamail66/skins/151118/35/writeReceive.png?v=12041814

RegExp.$1是第一项

RegExp.$2是第二项

 

以上是关于js 正则获取匹配部分最后一个内容的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式仅匹配匹配组 1 中日期的最后一部分 [重复]

正则表达式如何替换并修改自身的部分内容?

无法使用 Java 正则表达式匹配字符串的最后部分 [重复]

正则表达式:获取字符串的匹配和“不匹配”部分

请确保向 获取URL内容传送了URL

在javascript匹配中获取正则表达式的单独部分[重复]