CnPack Forum


 
Subject: 正则表达式比较适合大众日常娱乐哇
skyjacker
版主
Rank: 7Rank: 7Rank: 7
茶农


UID 2239
Digest Posts 9
Credits 617
Posts 269
点点分 617
Reading Access 100
Registered 2006-6-8
Status Offline
Post at 2007-4-28 23:44  Profile | Blog | P.M.  | QQ
正则表达式比较适合大众日常娱乐哇

正则表达式比较适合大众日常娱乐哇

本贴将收集各种有趣的、娱乐价值高的正则表达式 :)

近来实现一个公式编辑器的用户界面部分。
需求当然是进行用户输入的合法性检查了。

用户输入的某段公式如下:
sqrt(100)*(学习+10.24)*Log(2,10)/(1.024 * Power(2,32)
+ 吃饭 * 跑步 + Log10(100) * Ln(10)

在界面部分将汉字转为系统标识,比如 C01G0001A01,其中C01是固定不变的。

sqrt(100)*(C01G0001A01+10.24)*Log(2,10)/(1.024 * Power(2,32)
+ C01G00FFA02 * C01G0066A03 + Log10(100) * Ln(10)

虽然已经使用非正则表达式的方法也基本上解决了检查的功能需求,
但是,发现使用正则表达式解析也比较有意思,因为要写出一个解决某功能的正则表达式,
单单这一行代码正则,也需要不断的测试、尝试,像猜谜似的,娱乐价值也挺高的,还能增值呢

对上面的问题,我们需要进行以下基本的两步解析:

1.查找 C01 开头的所有字符串
正则:C01[A-Za-z\d]{8}

C01G0001A01
C01G00FFA02
C01G0066A03

2.查找公式函数
正则:[A-Za-z]+[A-Za-z]+[\d]*\(

sqrt(
Log(
Power(
Log10(
Ln(

其实比较完美的结果应该是去了左括号,实在是不知道如何写了

附件为测试程序源代码。

[ 本帖最后由 skyjacker 于 2007-4-28 23:49 编辑 ]


Attachment: 正则表达式.rar (2007-4-28 23:44, 240.75 K)
Download count 484


Image Attachment: show.jpg (2007-4-28 23:44, 34.12 K)





一壶清茶煮青春.
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-4-29 09:38  Profile | Blog | P.M. 
正则表达式语法老是忘记。
Top
kendling (小冬)
高级版主
Rank: 8Rank: 8
MyvNet


Medal No.1  
UID 703
Digest Posts 5
Credits 978
Posts 580
点点分 978
Reading Access 101
Registered 2005-2-18
Location 广东
Status Offline
Post at 2007-4-29 10:07  Profile | Site | Blog | P.M.  | QQ | Yahoo!
正则表达式每个软件都不同D的跟UltraEdit不同,跟EditPlus的也不同,其他的也一样。




小冬
http://MyvNet.com
Top
zzzl (早安的空气)
版主
Rank: 7Rank: 7Rank: 7



UID 590
Digest Posts 0
Credits 399
Posts 199
点点分 399
Reading Access 100
Registered 2004-11-29
Status Offline
Post at 2007-4-30 10:46  Profile | Blog | P.M.  | QQ
写在便签上,把显示器四周都贴满,看还忘不
Top
skyjacker
版主
Rank: 7Rank: 7Rank: 7
茶农


UID 2239
Digest Posts 9
Credits 617
Posts 269
点点分 617
Reading Access 100
Registered 2006-6-8
Status Offline
Post at 2007-4-30 11:47  Profile | Blog | P.M.  | QQ




一壶清茶煮青春.
Top
 




All times are GMT++8, the time now is 2024-11-22 06:28

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.009213 second(s), 8 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP