๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.perl
Article #80

Re: s/.*/X/g

#80
From: Tanaka Akira
Date: Thu, 25 Jul 1996 00:00
42 lines
2672 bytes
In article <mtfbuh66mq3.fsf@emerald.nak.math.keio.ac.jp>,
  tozaki@nak.math.keio.ac.jp (Hidekazu TOZAKI) writes:

>   ใใ‚Œใซใ€leftmost ใจ longest ใ‚’ๅŠ ใˆใŸๆ™‚็‚นใงใ€ๆœ€ๅˆใซใƒžใƒƒใƒใ™ใ‚‹ใ‚‚ใฎใฏๆฑบ
> ใพใ‚‹ใฎใงใ€ (g ใฎใชใ„) s/// ใฎๅ‹•ใใ‚‚ใ“ใ‚Œใงๆฑบใพใ‚Šใพใ™ใ€‚

ใพใ, $1, $2 ใจใ‹ใ‚’ไฝฟใ†ใจ, ใ‚ชใƒผใƒˆใƒžใƒˆใƒณใฎไธญใงใฉใฎใ‚ˆใ†ใช็ตŒ่ทฏใ‚’้€šใฃใŸใ‹
ใŒๅ•้กŒใซใชใ‚Šใพใ™ใŒใ€‚

>  |ใงใ‚‚, ใ“ใ‚Œใ‚‰ใฎๆกไปถใ‚‚ใ‚„ใฏใ‚Š็ฉบๆ–‡ๅญ—ๅˆ—ใซๅฏพใ—ใฆๆ›–ๆ˜งใงใชใ„่ฆๅ‰‡ใ‚’ไธŽใˆใฆใ„ใ‚‹ใจ
>  |ใฏๆ€ใ„ใพใ›ใ‚“ใ‘ใฉใ€‚
> 
> ใจใ„ใ†ใ“ใจใชใฎใงใ™ใŒใ€ใ“ใ‚Œใ‚’ๅฎšใ‚ใฆใ„ใชใ„ใง่‰ฏใ„ใฎใ‹ใจใ„ใ†็–‘ๅ•ใŒใ‚ใ‚Šใพใ™ใ€‚

็พๅฎŸใฎๅคš็จฎๅคšๆง˜ใชๅ‡ฆ็†็ณปใจใคใใ‚ใฃใฆใ„ใใŸใ‚ใซใฏใ‚€ใ—ใ‚ๆœชๅฎš็พฉใงใ‚ใ‚‹ใจ่ช่ญ˜
ใ—ใŸๆ–นใŒใ„ใ„ใฎใ‹ใ‚‚็Ÿฅใ‚Œใชใ„, ใจ็งใฏๆ€ใฃใฆใ„ใพใ™ใ€‚

>   ๆญฃ่ฆ่กจ็พ่‡ชไฝ“ใฏ็ฉบๆ–‡ๅญ—ๅˆ—ใซ้–ขใ—ใฆใ‚‚ๆˆใ‚Š็ซ‹ใค็†่ซ–ไฝ“็ณปใชใฎใงใ€s///g ใ‚‚็ฉบๆ–‡
> ๅญ—ๅˆ—ใ‚’ๅซใ‚ใฆไธ€ๆ„ใซๅ‹•ไฝœใŒๅฎšใพใ‚‹ใ‚ˆใ†ใช่ฆๅฎšใŒๆฌฒใ—ใ„ใจๆ€ใ†ใฎใงใ™ใŒใ€‚ใใ—ใฆใ€
> ใใฎ่ฆๅฎšใซๅพ“ใˆใฐใ€ s/.*/X/g ใจใ—ใŸใ‚‰ใ€ใฉใ‚“ใชๆ–‡ๅญ—ๅˆ—ใซๅฏพใ—ใฆใ‚‚ X ใซใชใฃ
> ใฆๆฌฒใ—ใ„ใ—ใ€"foo" =~ s/.{0}/X/g ใจใ—ใŸใ‚‰ XfXoXoX ใจใชใฃใฆๆฌฒใ—ใ„ใจๆ€ใ„
> ใพใ™ใŒใ€ใ“ใ†ใชใ‚‹ใ‚ˆใ†ใช่ฆๅฎšใ‚’็ฐกๅ˜ใช่ฆๅ‰‡ใง่ชฌๆ˜Žใงใใชใ„ใ‚‚ใฎใงใ—ใ‚‡ใ†ใ‹ใ€ใจ
> ใ„ใ†ใฎใŒไธปๅผตใ—ใŸใ„็‚นใงใ™ใ€‚

perl ใงใฏ . ใฏ \n ใซใฏใƒžใƒƒใƒใ—ใพใ›ใ‚“ใ‹ใ‚‰, ใ€Œใฉใ‚“ใชๆ–‡ๅญ—ๅˆ—ใซๅฏพใ—ใฆใ‚‚ใ€ใฃ
ใฆใฎใฏใŠใ‹ใ—ใ„ใงใ™ใญใ€‚

ใพใ, ใใƒผใ„ใ†ๆœฌ่ณช็š„ใงใชใ„ใ“ใจใฏใจใ‚‚ใ‹ใ, ่ฆๅ‰‡ใŒๆฌฒใ—ใ‘ใ‚Œใฐ้ฉๅฝ“ใซไฝœใ‚Œใฐ
ใ„ใ„ใจๆ€ใ„ใพใ™ใ€‚ไพ‹ใˆใฐ, ใ“ใ‚“ใชใฎใฏใฉใ†ใงใ—ใ‚‡ใ†ใ€‚
(้–“้•ใฃใฆใŸใ‚‰ๆŒ‡ๆ‘˜ใ—ใฆไธ‹ใ•ใ„ใ€‚)

ๆ–‡ๅญ—ๅˆ— s ใซๅฏพใ—, ๆญฃ่ฆ่กจ็พใซใƒžใƒƒใƒใ—ใŸ้ƒจๅˆ†ๆ–‡ๅญ—ๅˆ—ใฎใƒชใ‚นใƒˆใŒ
substr(s, i[0], l[0]), ... , substr(s, i[n-1], l[n-1]) ใจ่กจใ•ใ‚Œใ‚‹ใจใ™
ใ‚‹ใจ,  ๆฌกใฎๆกไปถใŒๆˆใ‚Š็ซ‹ใคใ€‚(non-overlapping)
i[0] < ... < i[n-1]
i[0] + l[0] < ... < i[n-1] + l[n-1]
i[0] + l[0] <= i[1], ... , i[n-2] + l[n-2] <= i[n-1]

leftmost ใ‚„ longest ใ‚‚้ฉๅฝ“ใซใ‚„ใ‚ŒใฐๅŒๆง˜ใซไฝœใ‚Œใ‚‹ใงใ—ใ‚‡ใ†ใ€‚
--
[็”ฐไธญ ๅ“ฒ][ใŸใชใ‹ ใ‚ใใ‚‰][Tanaka Akira]
Technical Details
Message-ID: <rsqybk9iqmo.fsf@carbon.jaist.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <mtfpw5ra7fo.fsf@tanzanite.nak.math.keio.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1043e7,6c8f8e24228d25b6
X-Google-Attributes: gid1043e7,public
X-Google-Thread: f773a,6c8f8e24228d25b6
X-Google-Attributes: gidf773a,public
From: akr@jaist.ac.jp (Tanaka Akira)
Subject: Re: s/.*/X/g
Date: 1996/07/25
Message-ID: <rsqybk9iqmo.fsf@carbon.jaist.ac.jp>
X-Deja-AN: 170384689
sender: akr@carbon.jaist.ac.jp
references: <mtfpw5ra7fo.fsf@tanzanite.nak.math.keio.ac.jp>
content-type: text/plain; charset=ISO-2022-JP
organization: School of Information Science, JAIST, Hokuriku, Tatsunokuchi, Ishikawa, Japan.
mime-version: 1.0 (generated by tm-edit 7.64)
newsgroups: fj.lang.perl,fj.lang.awk