U E D R , A S I H C RSS

Linux/Regular Expression


1. †Œ๊ฐœ

๋ฆฌ๋ˆ…Šค™€ ๊ฐ™€ œ ๋‹‰Šค˜ ด๋ก  šด˜ฒด œ๋ฅผ •˜๋‹ค๋ณด๋ฉด ๋ฐ˜๋“œ‹œ ต˜€•ผ •  ๊ฒƒ๋“คด ๋ช‡๊ฐ€ง€ กดžฌ•œ๋‹ค.
 •๊ทœ‹ด๋ผ๋Š” ๊ฒƒ๋„ ๊ทธค‘˜ •œ๊ฐ€ง€ด๋‹ค.
๋Œ€ถฉ šฉ๋„๋ฅผ  –ด๋ณดž๋ฉด MS‹œŠค…œ—„œ˜ *(asterix)๋ฌธž™€ ๊ฐ™€ šฉ๋„๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค.

˜ ๋Œ€๋ถ€๋ถ„˜ œ ๋‹‰Šค • ”Œ๋ฆฌผ€ด…˜€  •๊ทœ‹˜ ‚ฌšฉ„ ง€›•œ๋‹ค. ผ๋‹จ ๋ฐฐšฐ๋ฉด “ฐž„ด ๋Œ€๋‹จ•˜ง€๋งŒ
ตžˆ๊ธฐ ๊ท€ฐฎ๋‹ค. -.-;

2. Mastering Regular Expressions, 2nd Edition

2.1. Ch1 Introduction to Regular Expressions

  • ^(caret) : ‹œž‘„ ˜๋ฏธ•จ. ^cat€ catœผ๋กœ ‹œž‘•˜๋Š” ๋ฌธž...(cats,cater,caterer...).in the line rather real text
  • $(dollar) : ๋„ ˜๋ฏธ•จ. cat$€ catœผ๋กœ ๋๋‚˜๋Š” ๋ฌธž ...(blackcat, whitecat, ....) in the line rather real text
  • [](Character Class) : seperaete •˜๋ฉด seperate, seperete ๋ชจ๋‘๋ฅผ ฌ•จ•œ๋‹ค.
    • - (dash) : ๋ฒ”œ„๋ฅผ ๋‚˜ƒ€๋‚ธ๋‹ค.([]•ˆ—„œ๋งŒ.. ๋ฐ–—„œ๋Š” '-'žฒด๋ฅผ ๊ฐ€๋ฆฌ‚จ๋‹ค) 1-6 1~6๊นŒง€
    • ^ : [] •ˆ—„œ๋Š” ๋ฐ˜๋Œ€๋ฅผ ๋œป•œ๋‹ค. ^1-6 € 1~6ด •„๋‹Œ๊ฒƒ๋“ค„ ˜๋ฏธ..
  • . (dot) : –ด๋–ค ๋ฌธž๋“  ๊ธฐ˜ธ๋“  •ด๋‹น๋œ๋‹ค. 03.19.76 •˜๋ฉด 03/19/76,03-19-76,03.19.76 ๋“ด •ด๋‹น๋œ๋‹ค.
  • (OR) : —ฌ๋Ÿฌ๊ฐœ˜ ‹„ •œ๊ฐœ˜ ‹œผ๋กœ •ฉ„•  ˆ˜ žˆ๋‹ค. []•ˆ—„œ๋Š”
    ด ๋ฌธž๋ฅผ ๊ฐ€๋ฆฌ‚ฌ ๋ฟด๋‹ค. greay, grey|gray,gr(a|e)y ๋Š” ๊ฐ™๋‹ค.
  • ()(parentheses) : a(a|b)cde •˜๋ฉด aacde, abcde ๋‘˜๋‹ค •ด๋‹น ๋œ๋‹ค. b•˜๋ฉด | ๋ฅผ ๋ฌธž๋กœ ฒ˜๋ฆฌ •˜ง€๋งŒ (a|b) ๋กœ ()๋ฅผ ”Œ–ด ฃผ๋ฉด |๋ฅผ OR๋กœ •ด„•œ๋‹ค.
  • -i(option) : ๋Œ€†Œ๋ฌธž ๊ตฌ๋ถ„„ •ˆ•œ๋‹ค. ˜ˆ)egrep -i '^(From|Subject|Date): ' mailbox
  • \< : ๋‹จ์–ด๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์ง€์ 
  • \> : ๋‹จ–ด๊ฐ€ ๋๋‚˜๋Š” ง€ 
  • ? : one optional, ? •ž— žˆ๋Š” ๊ธ€ž๊ฐ€ žˆ–ด๋„ ๋˜๊ณ  —†–ด๋„ ๋œ๋‹ค. colour •˜๋ฉด color, colur ๋ชจ๋‘ ๋œ๋‹ค.
  • * : ? ๊ฐ€ —ฌ๋Ÿฌ๊ฐœ(ž„˜˜ ๊ฐœˆ˜) žˆ๋Š” šจ๊ณผ (—†๋Š”๊ฒƒ๋„ ฌ•จ)
  • + : ? ๊ฐ€ —ฌ๋Ÿฌ๊ฐœ(ž„˜˜ ๊ฐœˆ˜) žˆ๋Š” šจ๊ณผ

3.  •๊ทœ‹ ŽŒ ๋‚ดšฉ

(1) ^ (caret) : ๋ผธ˜ ฒ˜Œด๋‚˜ ๋ฌธž—ด˜ ฒ˜Œ„ ‘œ‹œ

˜ˆ : ^aaa (๋ฌธž—ด˜ ฒ˜Œ— aaa๋ฅผ ฌ•จ•˜๋ฉด ฐธ, ๊ทธ๋ ‡ง€ •Šœผ๋ฉด ๊ง“)

(2) $ (dollar) : ๋ผธ˜ ๋ด๋‚˜ ๋ฌธž—ด˜ ๋„ ‘œ‹œ

˜ˆ : aaa$ (๋ฌธž—ด˜ ๋— aaa๋ฅผ ฌ•จ•˜๋ฉด ฐธ, ๊ทธ๋ ‡ง€ •Šœผ๋ฉด ๊ง“)

(3) . (period) : ž„˜˜ •œ ๋ฌธž๋ฅผ ‘œ‹œ

˜ˆ : ^a.c (๋ฌธž—ด˜ ฒ˜Œ— abc, adc, aZc ๋“€ ฐธ, aa ๋Š” ๊ง“)

a..b$ (๋ฌธž—ด˜ ๋— aaab, abbb, azzb ๋“„ ฌ•จ•˜๋ฉด ฐธ)

(4) [] (bracket) : ๋ฌธž˜ ง‘•ฉด๋‚˜ ๋ฒ”œ„๋ฅผ ๋‚˜ƒ€๋ƒ„, ๋‘ ๋ฌธž ‚ฌด˜ "-"๋Š” ๋ฒ”œ„๋ฅผ ๋‚˜ƒ€๋ƒ„

[]๋‚ด—„œ "^"ด „ –‰๋˜๋ฉด not„ ๋‚˜ƒ€๋ƒ„

ด™ธ—๋„ "๋ฌธžด๋ž˜Šค"๋ฅผ ฌ•จ•˜๋Š” [:๋ฌธžด๋ž˜Šค:]˜ ˜•ƒœ๊ฐ€ žˆ๋‹ค.

—ฌ๊ธฐ—„œ "๋ฌธžด๋ž˜Šค"—๋Š” alpha, blank, cntrl, digit, graph, lower,

print, space, uppper, xdigit๊ฐ€ žˆ๋‹ค.

ด— ๋Œ€•œ ž„•œ ๋‚ดšฉ€ C–ธ–ด˜ <ctype.h>๋ฅผ ฐธกฐ•˜๋ฉด ๋œ๋‹ค.

˜ˆ๋ฅผ ๋“ค–ด [:digit:]๋Š” [0-9]™€ [:alpha:]๋Š” [A-Za-z]™€ ๋™ผ•˜๋‹ค.

ด™ธ— [:<:]™€ [:>:]๋Š” –ด๋–ค ๋‹จ–ด(ˆž, •ŒŒŒ๋ฒณ, '_'๋กœ ๊ตฌ„๋จ)˜ ‹œž‘๊ณผ ๋

„ ๋‚˜ƒ€๋‚ธ๋‹ค.

˜ˆ : [abc] (a, b, c ค‘ –ด๋–ค ๋ฌธž, "[a-c]."๊ณผ ๋™ผ)

[Yy] (Y ๋˜๋Š” y)

[A-Za-z0-9] (๋ชจ๋“  •ŒŒŒ๋ฒณ๊ณผ ˆž)

[-A-Z]. ("-"(hyphen)๊ณผ ๋ชจ๋“  ๋Œ€๋ฌธž)

[^a-z] (†Œ๋ฌธž ด™ธ˜ ๋ฌธž)

[^0-9] (ˆž ด™ธ˜ ๋ฌธž)

[[:digit:]] ([0-9]™€ ๋™ผ)

(5) {} (brace) : {} ๋‚ด˜ ˆž๋Š” ง „˜ „ –‰๋ฌธž๊ฐ€ ๋‚˜ƒ€๋‚˜๋Š” šŸˆ˜ ๋˜๋Š” ๋ฒ”œ„๋ฅผ ๋‚˜ƒ€๋ƒ„

˜ˆ : a{3} ('a'˜ 3๋ฒˆ ๋ฐ˜๋ณตธ aaa๋งŒ •ด๋‹น๋จ)

a{3,} ('a'๊ฐ€ 3๋ฒˆ ดƒ ๋ฐ˜๋ณตธ aaa, aaaa, aaaa, ... ๋“„ ๋‚˜ƒ€๋ƒ„)

a{3,5} (aaa, aaaa, aaaaa ๋งŒ •ด๋‹น๋จ)

ab{2,3} (abb™€ abbb ๋งŒ •ด๋‹น๋จ)

[0-9]{2} (๋‘ ž๋ฆฌ ˆž)

doc[7-9]{2} (doc77, doc87, doc97 ๋“ด •ด๋‹น)

[^Zz]{5} (Z™€ z๋ฅผ ฌ•จ•˜ง€ •Š๋Š” 5๊ฐœ˜ ๋ฌธž—ด, abcde, ttttt ๋“ด •ด๋‹น)

.{3,4}er ('er'•ž— „ธ ๊ฐœ ๋˜๋Š” ๋„ค ๊ฐœ˜ ๋ฌธž๋ฅผ ฌ•จ•˜๋Š” ๋ฌธž—ดด๋ฏ€๋กœ Peter, mother ๋“ด •ด๋‹น)

(6) * (asterisk) : "*" ง „˜ „ –‰๋ฌธž๊ฐ€ 0๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ๋‚˜ƒ€๋‚˜๋Š” ๋ฌธž—ด

˜ˆ : ab*c ('b'๋ฅผ 0๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ ac, ackdddd, abc, abbc, abbbbbbbc ๋“)

* („ –‰๋ฌธž๊ฐ€ —†๋Š” ๊ฒฝšฐด๋ฏ€๋กœ ž„˜˜ ๋ฌธž—ด ๋ฐ ๊ณต๋ฐ ๋ฌธž—ด๋„ •ด๋‹น๋จ)

.* („ –‰๋ฌธž๊ฐ€ "."ด๋ฏ€๋กœ •˜๋‚˜ ดƒ˜ ๋ฌธž๋ฅผ ฌ•จ•˜๋Š” ๋ฌธž—ด, ๊ณต๋ฐ ๋ฌธž—ด€ •ˆ๋จ)

ab* ('b'๋ฅผ 0๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ a, accc, abb, abbbbbbb ๋“)

a* ('a'๋ฅผ 0๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ k, kdd, sdfrrt, a, aaaa, abb, ๊ณต๋ฐ๋ฌธž—ด ๋“)

doc[7-9]* (doc7, doc777, doc778989, doc ๋“ด •ด๋‹น)

[A-Z].* (๋Œ€๋ฌธž๋กœ๋งŒ ด๋ฃจ–ด„ ๋ฌธž—ด)

like.* (ง „˜ „ –‰๋ฌธž๊ฐ€ '.'ด๋ฏ€๋กœ like— 0 ๋˜๋Š” •˜๋‚˜ ดƒ˜ ๋ฌธž๊ฐ€ ถ”๊ฐ€๋œ ๋ฌธž—ดด ๋จ, like, likely, liker, likelihood ๋“)

(7) + (asterisk) : "+" ง „˜ „ –‰๋ฌธž๊ฐ€ 1๋ฒˆ ดƒ ๋‚˜ƒ€๋‚˜๋Š” ๋ฌธž—ด

˜ˆ : ab+c ('b'๋ฅผ 1๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ abc, abckdddd, abbc, abbbbbbbc ๋“, ac๋Š” •ˆ๋จ)

ab+ ('b'๋ฅผ 1๋ฒˆ ๋˜๋Š” —ฌ๋Ÿฌ๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ ab, abccc, abb, abbbbbbb ๋“)

like.+ (ง „˜ „ –‰๋ฌธž๊ฐ€ '.'ด๋ฏ€๋กœ like— •˜๋‚˜ ดƒ˜ ๋ฌธž๊ฐ€ ถ”๊ฐ€๋œ ๋ฌธž—ดด ๋จ, likely, liker, likelihood ๋“, ๊ทธ๋Ÿฌ๋‚˜ like๋Š” •ด๋‹น•ˆ๋จ)

[A-Z]+ (๋Œ€๋ฌธž๋กœ๋งŒ ด๋ฃจ–ด„ ๋ฌธž—ด)

(8) ? (asterisk) : "?" ง „˜ „ –‰๋ฌธž๊ฐ€ 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ ๋‚˜ƒ€๋‚˜๋Š” ๋ฌธž—ด

˜ˆ : ab?c ('b'๋ฅผ 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ ฌ•จ•˜๋ฏ€๋กœ abc, abcd ๋งŒ •ด๋‹น๋จ)

(9) () (parenthesis) : ()๋Š”  •๊ทœ‹๋‚ด—„œ Œจ„„ ๊ทธ๋ฃน™” •  ๋•Œ ‚ฌšฉ

(10) | (bar) : or๋ฅผ ๋‚˜ƒ€๋ƒ„

˜ˆ : a|b|c (a, b, c ค‘ •˜๋‚˜, ฆ‰ [a-c]™€ ๋™ผ•จ)

yes|Yes (yes๋‚˜ Yes ค‘ •˜๋‚˜, [yY]es™€ ๋™ผ•จ)

korea|japan|chinese (korea, japan, chinese ค‘ •˜๋‚˜)

(11) \ (backslash) : œ„—„œ ‚ฌšฉ๋œ Šนˆ˜ ๋ฌธž๋“ค„  •๊ทœ‹๋‚ด—„œ ๋ฌธž๋ฅผ ทจ๊ธ‰•˜๊ณ  ‹ถ„ ๋•Œ '\'๋ฅผ „ –‰‹œผœ„œ ‚ฌšฉ•˜๋ฉด๋จ

˜ˆ : filename\.ext ("filename.ext"๋ฅผ ๋‚˜ƒ€๋ƒ„)

[\?\[\\\]] ('?', '[', '\', ']' ค‘ •˜๋‚˜)


 •๊ทœ‹—„œ๋Š” œ„—„œ –ธ๊ธ‰•œ Šนˆ˜ ๋ฌธž๋ฅผ  œ™ธ•œ ๋‚˜๋จธง€ ๋ฌธž๋“ค€ ผ๋ฐ˜ ๋ฌธž๋กœ ทจ๊ธ‰•จ


 •๊ทœ‹€ Unix˜ ๋Œ€‘œ ธ œ ‹ธ๋ฆฌ‹ฐธ vi, emacs, ed, sed, awk, grep, egrep ๋“—„œ ‚ฌšฉ•  ˆ˜ žˆ๋‹ค. ๋‹คŒ€ grep—„œ  •๊ทœ‹„ ™œšฉ•œ ˜ˆ๋ฅผ ๋ณด—ฌ ฃผ๊ณ  žˆ๋‹ค.

(1) $ ๋ช…๋ น–ด | grep ' •๊ทœ‹'

<= ๋ช…๋ น–ด˜ ๊ฒฐ๊ณผ๋ฅผ grepด ž…๋ ฅ๋ฐ›•„  •๊ทœ‹„ ดšฉ•˜—ฌ Œจ„„ ฐพ•„๋ƒ„

˜ˆ : $ who | grep 'hgkim' <= hgkimด๋ผ๋Š” ‚ฌšฉž๊ฐ€ login •ด žˆ๋Š”ง€๋ฅผ •Œ•„๋ด„

$ ls -al | grep '^d.*' <= ls -al ˜ ๊ฒฐ๊ณผ 'd'๋กœ ‹œž‘•˜๋Š” ๋ผธ(ฆ‰ ๋””๋ ‰† ๋ฆฌ๋“ค)

๋งŒ„ ถœ๋ ฅ

$ ls -al | grep '^d.*' <= ls -al ˜ ๊ฒฐ๊ณผ 'd'๋กœ ‹œž‘•˜๋Š” ๋ผธ(ฆ‰ ๋””๋ ‰† ๋ฆฌ๋“ค)

๋งŒ„ ถœ๋ ฅ

$ ls -al | grep '^[^d]..x..x..x' <= ๋””๋ ‰† ๋ฆฌ๋Š”  œ™ธ•˜๊ณ ("[^d]") ๋ˆ„๊ตฌ๋‚˜

‹ค–‰๊ฐ€๋Šฅ•œ ŒŒผ("..x..x..x")๋“ค ฐพ๊ธฐ

(2) $ grep ' •๊ทœ‹' ŒŒผด๋ฆ„

<= ŒŒผ„ ž…๋ ฅ๋ฐ›•„  •๊ทœ‹„ ดšฉ•˜—ฌ Œจ„„ ฐป•„๋ƒ„

˜ˆ: $ grep 'telnet' /etc/inetd.conf


ด™ธ˜ ๋ช…๋ น–ด๋“ค๋„ grep๊ณผ œ ‚ฌ•œ ˜•ƒœ๋กœ ดšฉ๋œ๋‹ค. ๋”ฐ๋ผ„œ  •๊ทœ‹„ ž˜ ดšฉ•˜๋ฉด œ ๋‹‰Šค˜ ™œšฉด ๋ฐฐ๊ฐ€ ๋  ๊ฒƒด๋‹ค.



PHP—„œ๋Š”  •๊ทœ‹๊ณผ ๊ด€๋ จ•˜—ฌ ๋‹คŒ˜ ๋„ค๊ฐ€ง€ •จˆ˜๋ฅผ  œ๊ณต•œ๋‹ค.


int ereg(string givenPattern, string givenString, array matched);

- givenString„ "string1stringAstring2stringBstring3 ... string9stringI" ๋กœ ฃผ–ด ธ žˆ๋‹ค๊ณ  •˜ž. ด๋•Œ stringA, stringB, ... , stringI๋Š” NULL ด–ด๋„ ƒ๊ด€ด —†๋‹ค(ฆ‰ givenString€ "string1string2string3 ... string9" ธ ๊ฒฝšฐž„).

- givenStringด œ„™€ ๊ฐ™ด ฃผ–ด„ ๊ฒฝšฐ,

givenPattern€ "(pattern1)stringA(pattern2)stringB(pattern3) ... (pattern9)stringI"๋กœ ž…๋ ฅ•˜—ฌ•ผ •œ๋‹ค. ฆ‰ pattern1, pattern2, ..., pattern9๋Š” ๊ฐ๊ฐ string1, string2, ... , string9—„œ ฐพ๊ณ ž•˜๋Š”  •๊ทœ‹ธ ๊ฒƒด๋‹ค.

- ด๋•Œ pattern1ด string1—„œ ๋ฐœ๊ฒฌ•œ Œจ„€ $matched[1]—  €žฅ๋˜๊ณ , pattern2๊ฐ€ string2—„œ ๋ฐœ๊ฒฌ•œ Œจ„€ $matched[2]—  €žฅ๋˜๊ณ , ..., pattern9๊ฐ€ string9—„œ ๋ฐœ๊ฒฌ•œ Œจ„€ $matched[9]—  €žฅ๋œ๋‹ค. PHP3˜ ๊ฒฝšฐ ereg—„œ๋Š” ตœ๋Œ€ 9๊ฐœ ๊นŒง€˜ pattern„ ฐพ„ ˆ˜ žˆ๋„๋ก „ •๋˜–ด žˆŒ— œ ˜•˜ž.

- ๊ทธ๋ฆฌ๊ณ  $matched[0]—๋Š” $matched[1]stringA$matched[2]stringB ... $matched[9]stringI๊ฐ€  €žฅ๋œ๋‹ค.

- ereg๊ฐ€ ๋ฐ˜™˜•˜๋Š” ๊ฐ’€ $matched[0]—  €žฅ๋œ ๋ฌธž—ด˜ ๊ฐœˆ˜ด๋‹ค.

- ereg๋Š” case sensitive

- eregi๋Š” case insensitive


˜ˆ1 :

ฝ”๋“œ => print(ereg ("(.*)ef([abc].*)","abcdefabc",$matched));

print("<br>");

while (list($a,$b)=each($matched))

if ($b)

print("$a, $b <br>");

๊ฒฐ๊ณผ => 9

0, abcdefabc

1, abcd

2, abc

˜ˆ2 :

ฝ”๋“œ => print(ereg ("(.*)d(.*)e(.*)qrs(.*)","abcdefghijklmnopqrstuvwxyz",$matched));

print("<br>");

while (list($a,$b)=each($matched))

if ($b)

print("$a, $b <br>");

๊ฒฐ๊ณผ => 26

0, abcdefghijklmnopqrstuvwxyz

1, abc

3, fghijklmnop

4, tuvwxyz

˜ˆ 3 :

ฝ”๋“œ => $date="1999-11-17";

if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs))

print("$regs[3].$regs[2].$regs[1]");

else print("Invalid date format: $date");

๊ฒฐ๊ณผ => 17.11.1999

˜ˆ 4 :

ฝ”๋“œ => $joomin="711011-1234567";

if (ereg("([0-9]{2})([01]{1}[09]{1}[0-3]{1}[0-9]{1})-([12]{1}[0-9]{6})",$date, $regs))

print("Valid");

else print("Invalid format: $joomin");


int eregi(string givenPattern, string givenString, array matched);

- ereg˜ 'case insensitive' ๋ฒ„ ผ


˜ˆ :

ฝ”๋“œ => $email="xs9_tx-abc.yyy_c@cne.kyungsung.ac.kr";

eregi("(^[_\.0-9a-z-]+)@(([0-9a-z][0-9a-z-]+\.)+)([a-z]{2,3}$)",$email,$matched);

while (list($a,$b)=each($matched))

if ($b) print("$a, $b <br>");


๊ฒฐ๊ณผ => 0, xs9_tx-abc.yyy_c@cne.kyungsung.ac.kr

1, xs9_tx-abc.yyy_c

2, cne.kyungsung.ac.

3, ac.

4, kr



ฝ”๋“œ => eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email,$matched);

while (list($a,$b)=each($matched))

if ($b) print("$a, $b <br>");

๊ฒฐ๊ณผ => 0, xs9_tx-abc.yyy_c@cne.kyungsung.ac.kr

1, ac.



string ereg_replace(string givenPattern, string replacementPattern, string givenString);

- givenString—„œ givenPattern— ๋ถ€•ฉ•˜๋Š” …ŠคŠธ(matched text)๋ฅผ ฐพ•„„œ,

replacementPatternœผ๋กœ ๋Œ€ฒด

- givenPatternด "(Œจ„ด)"œผ๋กœ ๋ฌถธ ๋ฌธž—ด๋“ค„ ฌ•จ•˜๊ณ  žˆœผ๋ฉด, replacementPattern—๋Š” ด— ๋Œ€‘•˜๋Š” "\\digit(๋ฌธž—ด)" ˜•ƒœ˜ ๋ฌธž—ด๋“ค„ ฌ•จ•˜๊ณ  žˆ–ด•ผ •œ๋‹ค(digit๋Š” 0, 1, ... ,9 ค‘ •˜๋‚˜). ๊ทธ๋ฆฌ๊ณ  givenString€ "(Œจ„ด)"„ ดšฉ•ด ฐพ€ ๊ฒฐ๊ณผ๋“ค„ "\\digit(๋ฌธž—ด)"— žˆ๋Š” "๋ฌธž—ด"๋“ค๋กœ ๋Œ€ฒด•˜๊ฒŒ ๋œ๋‹ค. "\\0" ๋Š” givenString  „ฒด— ๋Œ€•ด "(Œจ„ด)"˜ ๊ฒฐ๊ณผ๋ฅผ  šฉ•  ๋•Œ ดšฉ๋œ๋‹ค.

- ๋ณ€๊ฒฝ๋œ ๋ฌธž—ด„ ๋ฆฌ„ด

- case sensitive


˜ˆ :

ฝ”๋“œ => $string = "This is a test";

print(ereg_replace(" is", " was",$string)); print("<br>");

print(ereg_replace("( )is","\\1was",$string)); print("<br>");

print(ereg_replace("(( )is)","\\2was",$string)); print("<br>");

print(ereg_replace("(( )is)(( )a)(( )test)", "\\1was\\2an\\3exam",$string));

๊ฒฐ๊ณผ => "This was a test";

"This was a test";

"This was a test";

"This was an exam";


˜ˆ 2 : redundant whitespace —†• ๊ธฐ

ฝ”๋“œ => $str ="~ s/\s+/ /g";

$str = eregi_replace("[[:space:]]+", " ", $str);

print("$str<br>");

๊ฒฐ๊ณผ => ~ s/\s+/ /g


string eregi_replace(string givenPattern, string replacementPattern, string givenString);

- ereg_replace˜ 'case insensitive' ๋ฒ„ ผ


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:39
Processing time 0.0209 sec