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

  免費注冊 查看新帖 |

Chinaunix

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

零寬斷言替換問題 [復(fù)制鏈接]

論壇徽章:
1
榮譽(yù)會員
日期:2011-11-23 16:44:17
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-11-24 22:49 |只看該作者 |倒序瀏覽
echo 023020340 |perl -pe 's#(?<=\d)0(?=\d)#A#g'
可將023020340替換成023A2A340,即:頭尾的一個0不變,中間的0都替換成A。

那如何將000230203400替換成00023A2A3400呢?即:頭尾的任意個0不變,中間的0都替換成A。

論壇徽章:
1
榮譽(yù)會員
日期:2011-11-23 16:44:17
2 [報告]
發(fā)表于 2010-11-24 23:10 |只看該作者
  1. $ echo 000230203400 |perl -pe 's#0(?!0*$)#A#g'
  2. AAA23A2A3400
  3. $
復(fù)制代碼
只寫出不替換尾部的正則,頭部的不會

論壇徽章:
0
3 [報告]
發(fā)表于 2010-11-25 00:59 |只看該作者
本帖最后由 黑色陽光_cu 于 2010-11-25 01:31 編輯
  1. my $str = "000230203400";
  2. $str =~ s/(?:^0+)?\K(0)?(?!0*$)/defined $1 && "A"/eg;
  3. warn $str;
復(fù)制代碼
  1. my $str = "000230203400";
  2. $str =~ s/([^0].+?[^0])(?=0*$)/(local $_ = $1) =~ s\/0\/A\/g; $_/e;
  3. warn $str;
復(fù)制代碼

論壇徽章:
1
榮譽(yù)會員
日期:2011-11-23 16:44:17
4 [報告]
發(fā)表于 2010-11-25 06:22 |只看該作者
第二種寫法能達(dá)到目的,謝謝

論壇徽章:
0
5 [報告]
發(fā)表于 2010-11-25 09:44 |只看該作者
第二種寫法能達(dá)到目的,謝謝
beginner-bj 發(fā)表于 2010-11-25 06:22



   
第一種寫法5.10起可用

論壇徽章:
0
6 [報告]
發(fā)表于 2010-11-25 10:55 |只看該作者
我也來一個 試試:
                 perl -e '$str=q/000230203400/;$str=~s/(?<=[^0])0(?=[^0])/A/g;print $str;'

論壇徽章:
0
7 [報告]
發(fā)表于 2010-11-25 10:57 |只看該作者
我也來一個 試試:
                 perl -e '$str=q/000230203400/;$str=~s/(?
liyangole 發(fā)表于 2010-11-25 10:55



   
這個有bug~~,如果中間的0是幾個連續(xù)呢?

論壇徽章:
0
8 [報告]
發(fā)表于 2010-11-25 11:25 |只看該作者
我在想,用環(huán)視能不能做到呢?

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
9 [報告]
發(fā)表于 2010-11-25 11:40 |只看該作者
這個有bug~~,如果中間的0是幾個連續(xù)呢?
黑色陽光_cu 發(fā)表于 2010-11-25 10:57


果真如此.....何必把問題復(fù)雜化
perl -e '$str=q/00023002003400/;($s,$m,$e)=$str=~m/^(0*)(.+?)(0*)$/;$m=~s/0/A/g;print "$s$m$e\n";'

論壇徽章:
0
10 [報告]
發(fā)表于 2010-11-25 11:46 |只看該作者
果真如此.....何必把問題復(fù)雜化
perl -e '$str=q/00023002003400/;($s,$m,$e)=$str=~m/^(0*)(.+?)(0* ...
jason680 發(fā)表于 2010-11-25 11:40





就是想一句正則搞定~
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP