作者kaikai75130 (kai)
看板Perl
标题[问题] 正规化撷取字串
时间Thu Mar 29 21:06:43 2012
各位版上先进好,小弟是perl新手,想请教有关於正规化切片字串问题如下:
my $ data='{729, 5, "c/media/movie/0012",{0x00,0x02,0x00,}}';
假设我想使字串变为 {729, {0x00,0x02,0x00}}的话
我使正规化方法是 $data=~(s/(\d+),\s\d+,\s\"/\w+/\w+/\w+/\d+\"/$1/);
这样写起来蛮麻烦,而且有时候路径长短不一,想请问版上大大有更好写法,像是遇到
(^"xxxxx"$) 就去除双引号内值(小弟试过蛮多次无法达成><),谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.241.60.88
1F:推 imce:阿~我的话会用split再把不要的挑掉在join回来 03/29 21:13
2F:→ kaikai75130:如果一定要用正规表示有办法判断双引号就清除吗? 03/29 21:59
3F:推 l10nel:$data =~ s/\s*\d+\s*,\s*"[^"]+"\s*,\s*/ /g; 03/30 04:41
4F:→ l10nel:假设逗号前後的空白可有可无,假设路径资料不含双引号 03/30 04:43
5F:→ kaikai75130:楼上大大给的是否有少些符号呀?执行解果没变呢@@ 03/30 09:31
6F:→ kaikai75130:已用\"[\/\w+]+\" 解决 03/30 13:01