Project1

标题: 米娜,帮咱看看这个正则怎么写吧。。 [打印本页]

作者: yangff    时间: 2012-1-22 02:45
标题: 米娜,帮咱看看这个正则怎么写吧。。
我要顶一个一个Cookie的"+"操作。
本来按照Cookie的定义直接split(/,/)收工的。但是特么Cookie里面有一个很SB的东西叫做时间。。
时间的格式是形如
Mon, 13-Jan-2042 18:40:00 GMT

也就是中间有一个逗号,如果直接split(/,/)那就悲剧了!
根据我的观察所有表示时间的正则表达式都是 星期, 日 的形式很好区分
所以请帮我构造一个匹配。使得对于任意Cookie,以","进行分割,但是遇到","前面是Mon,Wnd,之类的星期时候不进行分割。
比如
sth="a=Mon, 10, b=2".split(...)
的结果应为
"a=Mon, 10"
"b=2"
谢谢,
作者: 各种压力的猫君    时间: 2012-1-22 03:04
本帖最后由 各种压力的猫君 于 2012-1-22 03:05 编辑

何必把简单问题复杂化 = = b
先把所有的 星期, 替换成 星期特殊符号
然后以逗号分割,最后再把特殊符号换回逗号不就好了 - -

—— 以上某个懒人的解答
作者: 小传子    时间: 2012-1-22 03:58
其实懒的是杨菲菲,不动脑子
作者: 怕鼠的猫    时间: 2012-1-22 09:56
你这个逗号固定出现在第四个字母的位置,先换掉也是可以的。分割完之后再换回来呗。

或者干脆换成全角的“,”,反正只是用来显示,有什么关系。
作者: 第七水螰    时间: 2012-1-22 10:17
regex = /(?<!Mon|Tue|Wed|Thu|Fri|Sat|Sun),/

這個 (?<! ... ) 的表達方式叫做零宽正向后行断言,(?<= ... ) 是表示匹配先行的內容,(?<! ... ) 是前者的逆反,表示排除先行的內容。兩者都對先行內容進行匹配,但不消耗先行的內容。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1