我是JavaScript的RegExp库的新手,需要帮助从三个字符串中选择中间词。
例如:
Saturday October 1
会返回October
。
我的(微弱)尝试是\s.*\s
,但这返回(space)October(space)
。但是,我需要在匹配中省略空格。
感谢任何帮助!
由于
答案 0 :(得分:2)
您只需使用capturing group,然后引用群组索引#1
即可获得匹配结果。
var r = 'Saturday October 1'.match(/\s(.*)\s/);
if (r)
console.log(r[1]); //=> "October"
或者如评论中所述,修剪匹配结果。
var r = 'Saturday October 1'.match(/\s.*\s/);
if (r)
console.log(r[0].trim()); //=> "October"
但在这种情况下,不会split
字符串会更容易吗?
var r = 'Saturday October 1'.split(' ')[1];
console.log(r); //=> "October"
答案 1 :(得分:0)
我认为最简单的解决方案是修剪返回值或
var match = 'Saturday October 1'.match(/\s(.*)\s/);
var text = match && match[1]
答案 2 :(得分:0)
使用第一个匹配组准确显示中间词
\s+(\b.*)\s+
答案 3 :(得分:0)