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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
123下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 11442 | 回復(fù): 22
打印 上一主題 下一主題

出道正則難題,數(shù)字千分點(diǎn) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-03-11 15:18 |只看該作者 |倒序?yàn)g覽
本帖最后由 黑色陽(yáng)光_cu 于 2011-03-11 15:19 編輯
  1. my $v = "12321347317347317.12734712347313471324";
  2. $v =~ s/.../.../;
  3. print $v;
復(fù)制代碼
請(qǐng)寫一句正則,把 $v 變成 12,321,347,317,347,317.127,347,123,473,134,713,24 。也就是說(shuō),按千分點(diǎn)把數(shù)字隔開(kāi),注意小數(shù)部分是從左到右每3位一組,和整數(shù)部分剛好相反。
要求一句正則 s/.../.../ 搞定,不準(zhǔn)用 /e 修飾;另外,不管有沒(méi)有小數(shù)部分,不管整數(shù)部分和小數(shù)部分有幾位數(shù)字,答案都要正確。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚(yú)座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
2 [報(bào)告]
發(fā)表于 2011-03-11 16:39 |只看該作者
while ($v =~ s/\d\K(?=\d{3},)|
    ,\d{3}\K(?=\d)|
    \d\K(?=\d{3}\.)|
    \.\d{3}\K(?=\d)|
    \d\K(?=\d{3}$)/,/x) {
    say $v;
}
這樣遞歸思想應(yīng)該最簡(jiǎn)單吧,不會(huì)一句 s/// 搞定 :mrgreen:

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運(yùn)維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
3 [報(bào)告]
發(fā)表于 2011-03-11 16:49 |只看該作者
本帖最后由 blackold 于 2011-03-11 17:19 編輯

回復(fù) 1# 黑色陽(yáng)光_cu


  1 while $v =~ s/(^-?\d+)\K(\d\d\d)|(\..*?\d\d\d)\K(\d)/,$&/;

這個(gè)算不算一句s?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-03-11 18:46 |只看該作者
本帖最后由 iLRainyday 于 2011-03-11 19:06 編輯
  1. s/(?=(\d\d\d)+\.)|(?<=\.(\d\d\d)+)/,/g;
復(fù)制代碼
可惜perl不支持任意深度的逆序環(huán)視,所以在regexbuddy中,只能夠使用.NET或者是JGsoft的regex引擎測(cè)試通過(guò)。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-03-11 18:55 |只看該作者

  1. my $v = "12321347317347317.12734712347313471324";
  2. $v =~ s/\G(?:(?!^\d+$)(?!\d*\.)\d{3}(?!$)\K|\d{0,3}\.\d{3}(?!$)\K|\d*?\K(?!^)(?=(?:\d{3})+(?:\.|$)))/,/g;
  3. warn $v;
復(fù)制代碼
加 /x 清淅點(diǎn):
  1. my $v = "12321347317347317.12734712347313471324";
  2. $v =~ s/
  3. \G
  4. (?:
  5.         (?!^\d+$)(?!\d*\.)\d{3}(?!$)\K
  6.         |
  7.         \d{0,3}\.\d{3}(?!$)\K
  8.         |
  9.         \d*?\K(?!^)(?=(?:\d{3})+(?:\.|$))
  10. )
  11. /,/xg;
  12. warn $v;
復(fù)制代碼

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-03-12 13:09 |只看該作者

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
7 [報(bào)告]
發(fā)表于 2011-03-12 14:33 |只看該作者
本帖最后由 yinyuemi 于 2011-03-12 16:34 編輯

perl還在學(xué),用sed湊湊熱鬧,呵呵

echo "12321347317347317.12734712347313471324" |sed -r ':a;s/([^,\|\.]{3})([^,\|\.]*$)/\1,\2/;s/^([^,\|\.]*)([^,\|\.]{3})/\1,\2/;ta'
12,321,347,317,347,317.127,347,123,473,134,713,24

perl寫得很挫啊,

my $v = "12321347317347317.12734712347313471324";

while ($v =~ /[^,|\.]{3}[^\.|,]*$/)
{$v =~ s/([^,|\.]{3})([^\.|,]*$)/$1,$2/;
while ( $v =~ /^[^,|\.]*[^,|\.]{3}/)
{$v =~ s/(^[^,|\.]*)([^,|\.]{3})/$1,$2/;}
}

print $v;

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-03-13 05:18 |只看該作者
回復(fù) 1# 黑色陽(yáng)光_cu

1 while $v=~s/(\.(?:\d{3})+)(\d+?)/$1,$2/ or $v=~s/(\d+)((?:\d{3})+?)/$1,$2/;

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-03-13 10:29 |只看該作者
回復(fù)  黑色陽(yáng)光_cu

1 while $v=~s/(\.(?:\d{3})+)(\d+?)/$1,$2/ or $v=~s/(\d+)((?:\d{3})+?)/$1,$2/;
CrkED 發(fā)表于 2011-03-13 05:18


可以放在一個(gè)s///里。
  1. 1 while $v=~s/(?|
  2. (\.(?:\d{3})+)(\d+?)
  3. |
  4. (\d+)((?:\d{3})+?))
  5. /$1,$2/x
復(fù)制代碼

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-03-13 21:04 |只看該作者
回復(fù) 5# 黑色陽(yáng)光_cu


    \K什么意思,use perl什么版本了
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP