请问匹配最后一个空格后的内容的正则表达式怎么写?

请问匹配最后一个空格后的内容的正则怎么写?

或者说匹配最后一个空格前的内容的也可以。

我自己试了几种都没有用。

还有\s 的话,到底能不能匹配到中文的空格呢?

这是前向零宽断言,注意JS不支持!匹配最后一个空格后的内容:
(?<=\s)\S+$
如果要支持多行匹配:(?<=\s)\S+\z

匹配最后一个空格前的内容:
\S+(?=\s)$

可以匹配中文中的空格,但是不能匹配全角的空格。

 (?<=\s)[\S]+$

中文空格 \u3000

直接用空格split下取最后一项不就好了,干嘛用正则?


    var s = 'abcdef afefe xxef afef1111';
    //split
    var arr = s.split(' ');
    alert(arr[arr.length - 1]);
    //正则
    var m = /\s([^\s]+)$/.exec(s);
    alert(m[1])

为啥要用正则。 从字符串最后开始倒着搜索。遇到空格停下来,就找到了。