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