JavaScript正则表达式分割最后一个下划线”_”字符

想把pub_form_year_01分割为’pub_from_year’和’01’两部分,或者取得’pub_from_year’这个字段也可以,

代码如下

/(.+)_(.+)/.test("pub_form_year_01");
alert(RegExp.$1);
alert(RegExp.$2);

用正则匹配最后一个下划线与其最近的小数点之间的所有字符

var s = 'http://i2.xxx.com/wx/images_2016/monkey/m4_1e3thtr.png';
var r = /(_(?!.*_).+)\./;
var m = s.match(r);
console.log(m[1]); // _1e3thtr

主要思路是从结尾开始,结尾是.xxx形式,对应正则部分\.[^.]+$
从结尾往前(左),应该是_1e3thtr形式的,对应的正则部分是(_[^_]*)
这里不用担心与前面的URL的下划线匹配到,因为限制了结尾,而且(_[^_]*)这部分
只能匹配到_xxxxxdafasf_开始,后续不是_的字符串。

匹配字符串中的下划线?还有非下滑线?

配置下划线/\_/
匹配非下划线/[^\_]/

~~

未经允许不得转载:WEB前端开发 » JavaScript正则表达式分割最后一个下划线”_”字符

赞 (2)