木叶知秋 发表于 2015-11-14 18:37
最近超爱正则表达式,供参考~
亲,我今天查了很多正则表达式资料,确实感觉此方法很强大啊,对你写给我的代码也认识了一些,不过有些地方还是不太怎么明白,还希望指导一下:
比如:prxparse('/.*TIME_STAMP~([\w\-]+)\|PAGE_NAME~([\w\.]+)\|.*SESSION_ID~(\w+)\|.*PSDO_CUST_ID~(\d+)\|(.*DEVICE_TYPE~(\w)\|.*PLATFORM~(\w)\|)?/o')
其中括号中/.../表示定义了一个正则表达式,.*表示匹配除换行符以外的一个或者多个任意字符,实际上就是代表了TIME_STAMP以前所有的字符串;([\w\-]+)匹配了多个\w\-格式的东西,就是把TIME_STAMP这个变量的相应取值替代了;接下来的\|实际上就表示得到了分界符|(不知道这儿理解对不对?);后面几个同理,不过最后的(.*DEVICE_TYPE~(\w)\|.*PLATFORM~(\w)\|)?没看明白,第一个疑惑就是为什么要把这两个变量括起来?第二个疑惑是最后的?能具体解释一下什么意思么? 在此先谢过了。。。