var REGEX = new RegExp("(?=[hms])g") var TIME = _GET('t', '0').split(REGEX) var hours = TIME[TIME.indexOf('h')-1] var minutes = TIME[TIME.indexOf('m')-1] var seconds = TIME[TIME.indexOf('s')-1] var HOURS = hours?('hours: '+hours):'' var MINUTES = minutes?('minutes: '+minutes):'' var SECONDS = seconds?('seconds: '+seconds):'' document.write('TIME RECIEVED:<br><br>'+HOURS+'<br>'+MINUTES+'<br>'+SECONDS)
這是整個代碼。基本上,我想看看我是否能模擬天生YouTube的視頻特技(把& T = XhYmZs去那個時候在視頻)Javascript正則表達式來雙向分割字符串
唯一缺少的事情是,我不知道正則表達式> _ <
我需要的是將字符串"5h55m55s"
拆分爲['5','h','55','m','55','s']
而不是['5', 'h55', 'm55', 's']
,這會破壞我的代碼。哦,是的,_GET函數是不重要的,它只是從URL獲得一個字符串,如PHP的$ _GET變量
因此很顯然,正則表達式/(?=[hms])/
不完全工作,我需要知道如何讓它分裂無論在「左」和h
,m
「正確的」,並s
基本上,這個問題的答案是,拆分,例如正則表達式,"55m55s"
入陣['55','m','55','s']
[鏈接](http://jsfiddle.net/Um2cw/1/)這裏是_GET功能我用,如果你很好奇。它的用法如下:'_GET('q','no value returned')'。如果你輸入'?在地址欄中輸入「q = john doe」,它會返回'「john%20doe」',可以通過改變'_GET('q','no value returned')來輕鬆修復。replace(/%20/g, '')'(將返回'「john doe」')。函數中的第二個參數允許默認(沒有在地址欄中輸入),在這種情況下,它會返回''沒有返回值'。我覺得這是一個非常方便的功能:P – 2012-02-15 02:25:00
沒有給出理由的下調是無建設性的,浪費了雙方的聲譽。這個問題發佈於5年前。是的,它寫得很差,但你期望我對它做些什麼*現在*?重寫它?那會有什麼好處呢?這個問題比寫作的方式有更多的問題。刪除它?這不是很好的做法 - 如果有人覺得它有用,該怎麼辦?我想從5年前的問題中學到什麼課? – 2017-12-02 06:49:49