亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3725 | 回復(fù): 14
打印 上一主題 下一主題

求一個(gè)正規(guī)表達(dá)式寫法(在線等) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-12-24 10:08 |只看該作者 |倒序?yàn)g覽
my $str = "abc","begin""2"",""2""end","efg";
上面的字符串,我想分割成
abc
begin""2"",""2""end
efg

現(xiàn)在使用my @s = split(/","/, substr($str, 1, length($str)-2);
得到的是:
abc
begin""2"
"2""end
efg

如果使用my @s = split(/","/, substr($str, 1, length($str)-2);得到的是:
ab
egin""2"",""2""en
fg

請問哪位有好地解決辦法。

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報(bào)告]
發(fā)表于 2008-12-24 10:12 |只看該作者

回復(fù) #1 HawaiiLeo 的帖子

你可以考慮用 look ahead,在 perlre 中搜索下看看要怎么用

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-12-24 11:15 |只看該作者
$_ = q{"abc","begin""2"",""2""end","efg"};

print $1, ' | ', $2, ' | ', $3 if /"(\w{3})","(.*)","(\w{3})"/;


僅針對你給出的例子啊

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-12-24 12:04 |只看該作者
感謝MMMIX大師的提示,使用perlre  look ahead能得到需要的結(jié)果
my $str = "abc","begin""2"",""2""end","efg";
my @s = split(/(?<!")","(?!")/, substr($str, 1, length($str)-2));

結(jié)果:
abc
begin""2"",""2""end
efg

謝謝cobrawgl

[ 本帖最后由 HawaiiLeo 于 2008-12-24 12:05 編輯 ]

論壇徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辭舊歲徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
5 [報(bào)告]
發(fā)表于 2008-12-24 12:17 |只看該作者
原帖由 HawaiiLeo 于 2008-12-24 12:04 發(fā)表
split(/(?<!")","(?!")/, substr($str, 1, length($str)-2));

學(xué)習(xí)

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2008-12-25 13:42 |只看該作者
CSV文件各個(gè)項(xiàng)目可能包含有"和,的符號,出力的的時(shí)候把一個(gè)雙引號都轉(zhuǎn)換成了兩個(gè)雙引號,
如下的內(nèi)容,怎么分割成正確的結(jié)果?
"abc"","",""bcd","","","123","",""

上面的內(nèi)容我想得到
abc"","",""bcd


123

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
7 [報(bào)告]
發(fā)表于 2008-12-25 13:48 |只看該作者

回復(fù) #6 HawaiiLeo 的帖子

Excel打開,另存為*.txt

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2008-12-25 14:01 |只看該作者
現(xiàn)在有兩個(gè)Oracle數(shù)據(jù)庫,因?yàn)槠渌虿荒苡胐b link更新,也不能用固定長文件更新,
就想把數(shù)據(jù)從Oracle出力成CSV文件,然后和前一天的出力文件做差分,
再用差分結(jié)果去更新另外一個(gè)Oracle對應(yīng)的表。

所以excel就不行了,而且linux環(huán)境,excel也沒有啊。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2008-12-25 14:19 |只看該作者
我覺得你這個(gè)更適合用 parser 來做

論壇徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辭舊歲徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
10 [報(bào)告]
發(fā)表于 2008-12-25 14:41 |只看該作者
Text::CSV 可以。http://search.cpan.org/dist/Text-CSV/lib/Text/CSV.pm
  1. #!/usr/bin/perl

  2. use Text::CSV;
  3. $csv = Text::CSV->new();

  4. $line=q("abc"","",""bcd","","","123","","");

  5. $status  = $csv->parse($line);# parse a CSV string into fields
  6. @columns = $csv->fields();

  7. for (@columns) {
  8.     print $_,"\n";
  9. }
  10. __DATA__
  11. "abc"","",""bcd","","","123","",""
復(fù)制代碼
$ ./csv
abc",","bcd


123
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP