[英]regeexp matching words from the back pattern
我有正則表達式的問題/?!(\w*)!!(?!\w)/g
正在向后匹配我,因為我需要從頭到尾檢查它。 我將舉例說明什么是錯的:
例子:
!!foo!!bar!!
- 應該只匹配bar
,工作正常
!!foo!!!!bar!!
- 應該匹配foo
和bar
,工作正確
!!foo!!!!bar!!test
- 應該匹配foo
和bar
,現在只匹配foo
不正確
你可以創建一個 reverseString function 像
function reverseString(str) {
return str.split("").reverse().join("");
}
現在,如果您在輸入(和匹配器結果)上應用 reverseString,您可以使用 go 以及簡單的 RegExp !!\w+!!
使用正則表達式: /!!(\w*)!!/g
var st = ['!!foo!!bar!!', '!!foo!!!!bar!!', '!!foo!!!!bar!!test'];
st[0].split("").reverse().join("").match(/!!(\w*)!!/g).map(x => x.split("").reverse().join("").replace(/!/g, '')).reverse() // ['bar']
st[1].split("").reverse().join("").match(/!!(\w*)!!/g).map(x => x.split("").reverse().join("").replace(/!/g, '')).reverse() // ['foo', 'bar']
st[2].split("").reverse().join("").match(/!!(\w*)!!/g).map(x => x.split("").reverse().join("").replace(/!/g, '')).reverse() // ['foo', 'bar']
or
st.map(y => y.split("").reverse().join("").match(/!!(\w*)!!/g).map(x => x.split("").reverse().join("").replace(/!/g, ''))).map(z => z.reverse())
// [['bar'], ['foo', 'bar'], ['foo', 'bar']]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.