小编Iul*_*anu的帖子

在Haskell中将字符串解析为另一种数据类型

最近我一直试图在Haskell中创建一个正则表达式解释器.我所做的就是创建一个所有可能构造一个新的数据类型(顺序*,^,间隔等),然后定义一个匹配功能.它可以创造奇迹,但我的问题是我必须将输入(例如String "a(b*)(c|d)ef")转换为我的数据类型("Seq (Sym a) (Seq (Rep Sym b) (Seq (Or Sym c Sym d) Sym ef))").我遇到了这部分问题(我尝试创建一个新的数据类型,一个解析树,但我完全失败了).关于如何解决它的任何想法?

regex parsing haskell

4
推荐指数
1
解决办法
974
查看次数

确定Haskell中的匹配括号

假设我有一个字符串,如:

abc(def(gh)il(mn(01))afg)lmno(sdfg*)
Run Code Online (Sandbox Code Playgroud)

如何确定第一个的匹配括号?(意思(def(gh)il(mn(01))afg))

我试图通过计算开放括号的数量直到第一个')'来创建一个between函数,但它不适用于像这样的字符串.

haskell parentheses

2
推荐指数
1
解决办法
1159
查看次数

应该缓存Servlet响应,但不是

我试图缓存servlet响应但不知何故它不起作用(每次刷新页面时Firebug给我200 OK).这是我在servlet中添加的代码:

response.setContentType("application/javascript");
long now = System.currentTimeMillis();
response.setCharacterEncoding("UTF-8");
response.setDateHeader("Last-Modified", 0);
response.addHeader("Cache-Control", "max-age=5184000");
response.setDateHeader("Expires", now + 5184000 * 1000);
response.addHeader("Vary", "Host");
Run Code Online (Sandbox Code Playgroud)

我现在也尝试过setHeader和使用过Last-Modified.

似乎没什么用.有任何想法吗?

谢谢

这就是firebug向我显示响应/请求标头的方式(当资源应该从缓存中提取但不是)时:

 Response Headersview source
 Cache-Control  max-age=5184000
 Connection Keep-Alive
 Content-Type   application/javascript;charset=UTF-8
 Date   Thu, 21 Mar 2013 09:53:48 GMT
 Expires    Sun, 31 Mar 2013 16:51:01 GMT
 Keep-Alive timeout=15, max=99



 Request Headersview source
 Accept */*
 Accept-Encoding    gzip, deflate
 Accept-Language    en-US,en;q=0.5
 Cache-Control  max-age=0
Run Code Online (Sandbox Code Playgroud)

java caching servlets response

1
推荐指数
1
解决办法
4191
查看次数

标签 统计

haskell ×2

caching ×1

java ×1

parentheses ×1

parsing ×1

regex ×1

response ×1

servlets ×1