用循环替换程序生成的txt文件中的单词

时间:2010-11-02 14:11:21

标签: regex autohotkey

扑克客户端程序基本上生成文件(txt)作为handhistory日志,我想有一些自动编辑handhistory的程序,只需在数字前添加“$”符号,然后在新目录中生成新的txt文件,我可以在另一个软件中分析新创建的文件。

下面是一个示例手工历史记录:

Full Tilt Poker Game #23461961057: Table .COM Play 463 (deep) - 3000/6000 - No Limit Hold'em - 15:16:29 ET - 2010/08/29  
Seat 2: Player1 (795,425)  
Seat 5: Player2 (1,200,000)  
Player1 posts the small blind of 3,000  
Player2 posts the big blind of 6,000  
The button is in seat #2  
**** HOLE CARDS ****
Dealt to Player1 [Ac 4c]  
Player1 raises to 12,000  
Player2 raises to 687,000  
Player1 raises to 795,425, and is all in  
Player2 folds  
Player2 adds 687,000  
Uncalled bet of 108,425 returned to Player1  
Player1 mucks  
Player1 wins the pot (1,374,000)  
*** SUMMARY ***  
Total pot 1,374,000 | Rake 0  
Seat 2: Player1 (small blind) collected (1,374,000), mucked  
Seat 5: Player2 (big blind) folded before the Flop  
下面的

是我想要处理的文件:

Full Tilt Poker Game #23461961057: Table .COM 463 (deep) - $3000/$6000 - No Limit Hold'em - 15:16:29 ET - 2010/08/29
Seat 2: Player1 ($795,425)
Seat 5: Player2 ($1,200,000)
Player1 posts the small blind of $3,000
Player2 posts the big blind of $6,000
The button is in seat #2
*** HOLE CARDS ***
Dealt to Player1 [Ac 4c]
Player1 raises to $12,000
Player2 raises to $687,000
Player1 raises to $795,425, and is all in
Player2 folds
Player2 adds $687,000
Uncalled bet of $108,425 returned to Player1
Player1 mucks
Player1 wins the pot ($1,374,000)
*** SUMMARY ***
Total pot $1,374,000 | Rake $0
Seat 2: Player1 (small blind) collected ($1,374,000), mucked
Seat 5: Player2 (big blind) folded before the Flop

我做了一些研究并且想出了这样的事情的AutoHotKey,但是在编程时我是一个新手,当我输入这个时,正则表达强调了我的大脑。任何帮助都会很好。

1 个答案:

答案 0 :(得分:1)

(?<!Seat )(?<![a-zA-Z#])([0-9]+(?:,[0-9]+)*)

替换为$ \ 1

基本上,它的作用是找到所有可以用逗号分隔的数字,这些数字不以'#'或字母或席位开头(因为我注意到字符串中的“Full Tilt Poker Game#23461961057”和“座位2“,你没有加$)。算法是贪婪的,所以应该考虑这样一个事实,即在用逗号分隔的数字中的每个逗号之后重复该模式。

如果你正在使用javascript,很遗憾你无法使用背后的外观。