作者anxiouser (eric)
看板RegExp
标题Re: [问题] "123,456"(注意有双引号)取代成123456
时间Sat Aug 23 17:24:14 2008
本来我的出发点就是想「一句RE搞定」,自己写不出来,才来此地请教,後来觉的
好像没办法一句做完所有事,所以才会说出对 RE 失望的话。
我指的是 RE 这个东西,从头到尾都没讲到人,也没指名到姓?
这样说,不知道自尊心强的网友们气消了没?
这个问题最後采用 psmonkey 先生的方法,我用回圈去解析,但这样用
s/.../.../g 使用 g 参数会有问题,这个地方是瓶颈,我把它点出来
,这里是 RE 版,所以我就不贴程式码了(免得又被一堆人吐)。
我用的是 perl,RE语法是: s/"(.*?),(.*?)"/"$1$2"/ 以及 s/"(.*?),(.*?)"/$1$2/
完成,要放回圈里面。
由於这个不是作业文,是我在玩,在学,所以继续问下去...
虚心请教一下 blc 先生,你的 RE 是在什麽工具或程式语言使用,因为和我
学的有些出入,你会写: \(.*?\),但我学的是 (.*?)。
至於你嘘的那句: s/"\([^"]*\),\([^"]*\)"/\1\2/g 假如不会把资料:
abc,"123,456,789,123,456.2938",5,"223,456",xyz
中,「",5,"」拿来解析,我想亦可以解决问题,因为我没拿你的RE来试,没有答案
,不敢保证,有兴趣的网友可以试试。(他有提到用递回)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.240.120
1F:→ HowLeeHi:()前面有反斜线\应该只是escape的作用而已..脱逸shell... 08/23 18:05