所以,我目前在字符串中的最後一個空間及其以下單詞匹配這個正則表達式:正則表達式符合以下
var regex = /\s+\S*$/m
例如:
'this match'.match(regex) == [" match"]
但是,如果整個字符串只是一個空白字符,然後是字符,它仍然會匹配。 (如' match'
)
我與"not followed by" quantifier嘗試,但我來最接近一直以配合我的首選輸出的倒數:
var regex = /\S+(?=\s+\S*$)/m
'this match'.match(regex) == ["this"]
我想這只是比賽一個空格,然後如果那場比賽後跟任意數量的單詞字符
一句話所以,我想它的這個最後空間和字匹配:'multiple words'
但不能匹配這個根本:
編輯:我要補充一點,我打算使用搜索()方法(或東西可比)在比賽開始時得到字符的索引。我僅使用上面的match()方法進行說明。
我會用'\ S'而不是' .'所以它不能匹配像'word'這樣的兩個主要空格。 – Vache
我在原始文章中添加了一條編輯。你給我的東西可以(幸運地)讓我到那裏,但它需要額外的步驟從原始字符串的長度減去match [1]值的長度以獲得索引。有沒有辦法使這個輸出與字符串一起使用時所需的匹配索引。search()方法? –
@dom請參閱我更新的答案,瞭解一些替代方案。 –