簡體   English   中英

JavaScript RegEx的新功能-從三字串中選擇中間字

[英]New to JavaScript RegEx - Selecting Middle Word from Three-Word String

我是JavaScript的RegExp庫的新手,需要幫助從三個單詞的字符串中選擇中間單詞。
例如: Saturday October 1 October Saturday October 1將返回October

我的(嘗試)嘗試是\\s.*\\s ,但是返回了(space)October(space) 但是,我需要在比賽中省略空格。

任何幫助表示贊賞!

謝謝

您可以簡單地使用捕獲組 ,然后參考組索引#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"

我認為最簡單的解決方案是調整返回值或

var match = 'Saturday October 1'.match(/\s(.*)\s/); 
var text = match && match[1]

使用第一個匹配組來精確地包含中間詞

\s+(\b.*)\s+
^.*?\s(\w+)

試試看,獲取捕捉,請看演示。

http://regex101.com/r/hQ1rP0/44

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM