gpt4 book ai didi

regex - 有哪些奇特的解析技术?

转载 作者:行者123 更新时间:2023-12-03 18:21:26 25 4
gpt4 key购买 nike

在过去的一年里,我一直在解析扑克手牌的历史,并且在一般的解析方面学到了很多东西。

我们从正则表达式开始,但很快意识到这不会轻易扩展。
我们跳过了从 ruby​​ 到 c++ 的语言,最后意识到必须改变的是算法。

我们拿起了 Boost::Spirit 并看到我们的速度以我们原始速度的 10 倍以上的顺序急剧上升。然后我们跳到 java,目前正在使用 antlr 为每个站点创建语法。这绝对是迄今为止最快的方法,而且非常彻底,这很好,因为您确切地知道您在“完整”语法方面的立场。不幸的是,我花费了大量的时间来处理这些语法——它们工作得非常好,但还不完美。

无论如何,关于手头问题的背景已经足够了——是否有任何我不知道的“异国情调”或鲜为人知的解析技术?我只知道词法分析/解析语法和其他劣质正则表达式/循环方法。

对于那些不熟悉扑克手牌历史的人,我会发布一个,以便您了解结构是什么。

Full Tilt Poker Game #12037626529: Table durrrr (heads up, deep) - $500/$1000 -
Pot Limit Omaha Hi - 2:00:48 ET - 2009/05/05
Seat 1: durrrr ($196,456.50)
Seat 2: Gus Hansen ($65,499)
durrrr posts the small blind of $500
Gus Hansen posts the big blind of $1,000
The button is in seat #1
*** HOLE CARDS ***
durrrr raises to $3,000
Gus Hansen raises to $9,000
durrrr calls $6,000
*** FLOP *** [3d 4d 7d]
Gus Hansen has 15 seconds left to act
Gus Hansen checks
durrrr checks
*** TURN *** [3d 4d 7d] [Jh]
Gus Hansen checks
durrrr checks
*** RIVER *** [3d 4d 7d Jh] [Ah]
Gus Hansen has 15 seconds left to act
Gus Hansen checks
durrrr has 15 seconds left to act
123stayfree (Observer): GUS I NOW BRING U LUCK
durrrr bets $7,600
Gus Hansen has 15 seconds left to act
Gus Hansen has requested TIME
Hernandez777 (Observer): Gus has the super-duper nuts
Gus Hansen calls $7,600
Podobed45 (Observer): fluuuuuuuuuush
*** SHOW DOWN ***
durrrr shows [Kc 3s Qd As] two pair, Aces and Threes
Gus Hansen mucks
durrrr wins the pot ($33,199.50) with two pair, Aces and Threes
*** SUMMARY ***
Total pot $33,200 | Rake $0.50
Board: [3d 4d 7d Jh Ah]
Seat 1: durrrr (small blind) collected ($33,199.50)
Seat 2: Gus Hansen (big blind) mucked

我很清楚其他收集信息的方法(例如屏幕抓取和 dll 注入(inject)),但是仍然需要将手牌历史转换为结构化数据,所以我只关注获取信息的方法,例如正则表达式/语法...

我想如果我找不到东西,我会用 ocamllex/ocamlyacc 重写我们的语法。

更新

仅供引用:正则表达式速度约为 60 手/秒,而语法处理 600+ 手/秒...在数据全部整理后,整只手都转换为 xml... 需要 20-30 个正则表达式(在最后一次计数)对于您要解析的每个站点....语法方面的每个站点都有自己的语法,其中包含大量的词法分析器/解析器规则(但它的代码量仍然较小)

我确实有龙书并且一直在阅读它——这让我对使用 ocamllex/ocamlyacc 失去了兴趣……速度是这里游戏的名称……

最佳答案

由于您正在寻找异国情调,请阅读这篇关于 Vaughan Pratt 的自上而下运算符优先级的文章......

http://javascript.crockford.com/tdop/tdop.html

关于regex - 有哪些奇特的解析技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com