[teknologia] Re: Tanya REGEX

2006-03-01 Terurut Topik Riyogarta




Harry Sufehmi wrote:

  
On 2/28/2006 at 12:36 AM Riyogarta wrote:
  
  
Harry Sufehmi wrote:


  Sori bukan ngasih jawaban, tapi kailnya - mudah-mudahan cocok :-)  
  

sudah pernah coba Regex Coach ?


  Enak banget, bikin regex jadi jauh lebih mudah dengan ini.
  
  

Wah ... saya sudah dl ... mantab nih .. thanks, bisa belajar regex lebih 
jelas :)

  
  
Makan-makan dong, McD sektor 9 juga boleh  ;)
  

Nanti yah .. kalau elmu regex-nya udah didapat wakakakaka.

  
btw; Regex Coach ndak perfect amat, tapi sudah lumayan banget, dalam berbagai kasus saya selama ini, biasanya sangat banyak membantu.

Kalau menurut saya, perfect ;) soalnya gak ada yang software yang bisa
dibandingin hihihi.
Yang jelas, regex coach memang bener2 membantu karena cara kerja regex
yang dibuat terlihat jelas, bahkan bisa terlihat step by stepnya.
Anyway .. thanks pisan :)
-- 
Salam,
Riyogarta
http://riyo.bedeng.com

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google teknologia grup.  To post to this group, send email to teknologia@googlegroups.com  Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]  Untuk pilihan lainnya, lihat grup ini pada http://groups.google.com/group/teknologia  -~--~~~~--~~--~--~---





[teknologia] Re: Tanya REGEX

2006-02-28 Terurut Topik Ronny Haryanto
On Tue, Feb 28, 2006 at 03:55:14PM +0900, rofiq wrote:
 On 2/28/06, Ronny Haryanto [EMAIL PROTECTED] wrote:
  On Tue, Feb 28, 2006 at 12:22:35PM +0900, rofiq wrote:
   str.gsub(/[^]*/) do |tag|
 tag.gsub(/test/, 'coba')
   end
 
  Regexnya di atas akan match  yang berada di dalam tanda double
  quotes juga, seperti ini:
 
  img src=gambar.jpg alt= width=100 title=test /
  
  (cuma segini matchnya)
 
  dan test di atas masih akan kereplace. Tapi kayaknya sih bare 
  dan  nggak legal, harusnya jadi lt; dan gt; ya? (lagi males nyari
  di X?HTML spec).
 
 sebenernya sih aku ngikut contoh sblmnya aja :-)
 tapi emang style kaya' gini sering kepake juga, kalau diganti regexnya
 jadi .* (pake dot) pasti matchnya bukan ama karakter greater-than
 (g-t) terdekat, tapi ama g-t yg terakhir, ada yg bisa jelasin?

Iya, karena itu greedy match (sebanyak mungkin match). Kalo yg
non-greedy pake ? lagi di belakangnya, jadi *?, +?, ??, dst. Minimal
di perl begitu (man perlre, cari greedy). /.*?/ akan ngematch
 yg pertama.

[EMAIL PROTECTED] ~ $ echo 'img alt= width=100' | perl -pe 's/.*?/FOO/'
FOO width=100
[EMAIL PROTECTED] ~ $ echo 'img alt= width=100' | perl -pe 's/.*/FOO/'
FOO

Tapi masalahnya di atas lebih kompleks, bukan sekedar masalah
greediness aja, tapi lebih ke grammar. Dia gak boleh match  yang di
dalam quotes.

Ronny


signature.asc
Description: Digital signature


[teknologia] Re: Tanya REGEX

2006-02-28 Terurut Topik rofiq

On 2/28/06, Ronny Haryanto [EMAIL PROTECTED] wrote:
 On Tue, Feb 28, 2006 at 03:55:14PM +0900, rofiq wrote:
  On 2/28/06, Ronny Haryanto [EMAIL PROTECTED] wrote:
   On Tue, Feb 28, 2006 at 12:22:35PM +0900, rofiq wrote:
str.gsub(/[^]*/) do |tag|
  tag.gsub(/test/, 'coba')
end
  
   Regexnya di atas akan match  yang berada di dalam tanda double
   quotes juga, seperti ini:
  
   img src=gambar.jpg alt= width=100 title=test /
   
   (cuma segini matchnya)
  
   dan test di atas masih akan kereplace. Tapi kayaknya sih bare 
   dan  nggak legal, harusnya jadi lt; dan gt; ya? (lagi males nyari
   di X?HTML spec).
 
  sebenernya sih aku ngikut contoh sblmnya aja :-)
  tapi emang style kaya' gini sering kepake juga, kalau diganti regexnya
  jadi .* (pake dot) pasti matchnya bukan ama karakter greater-than
  (g-t) terdekat, tapi ama g-t yg terakhir, ada yg bisa jelasin?

 Iya, karena itu greedy match (sebanyak mungkin match). Kalo yg
 non-greedy pake ? lagi di belakangnya, jadi *?, +?, ??, dst. Minimal
 di perl begitu (man perlre, cari greedy). /.*?/ akan ngematch
  yg pertama.

 [EMAIL PROTECTED] ~ $ echo 'img alt= width=100' | perl -pe 
 's/.*?/FOO/'
 FOO width=100
 [EMAIL PROTECTED] ~ $ echo 'img alt= width=100' | perl -pe 
 's/.*/FOO/'
 FOO

 Tapi masalahnya di atas lebih kompleks, bukan sekedar masalah
 greediness aja, tapi lebih ke grammar. Dia gak boleh match  yang di
 dalam quotes.

ups, ternyata karena greedy ya

kalo masalah yg roni kasih kaya'nya mentok deh pake regex, harus main
ke grammar. udah dicoba pake xml parser dia mau tuh terima, tapi kalo
diliat dalemnya diubah jadi gt; (pake regex lain lagi?)

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-28 Terurut Topik Ronny Haryanto
On Tue, Feb 28, 2006 at 08:49:25PM +0900, rofiq wrote:
 kalo masalah yg roni kasih kaya'nya mentok deh pake regex, harus main
 ke grammar. udah dicoba pake xml parser dia mau tuh terima, tapi kalo
 diliat dalemnya diubah jadi gt; (pake regex lain lagi?)

Wah, jadi tertantang, hehe. Gak mentok lah. Selama dia regular pasti
bisa diekspresikan dengan regular expression (hence the name),
context-free grammar juga ekuivalen kok dengan regex (kalo saya gak
salah inget dr kelas automata kira2 7 th lalu). Kalo mentok gak bisa
dibikin parser dong, hehe. (CMIIW, I'm not that good in automata
theory.)

Mari kita bedah pelan2 dari grammarnya dulu (bastardized BNF+PCRE,
hehehe, mudah2an masih bisa dimengerti), ini simplenya aja yg HTML
(bukan XHTML) dulu:

HTMLTAG ::= LT SPACE* TAG (SPACE+ ATTR)* SPACE* GT

LT::= 
TAG   ::= WORDCHAR+
ATTR  ::= ATTRNAME SPACE* = SPACE* ATTRVAL
GT::= 

WORDCHAR  ::= [a-z]
ATTRNAME  ::= NONWORDCHAR+
ATTRVAL   ::= VALCHAR*

VALCHAR   ::= [^]

SPACE ::= \s

Disclaimer: ini sangat sangat sederhana, mungkin banyak
mengabaikan bbrp hal yg kurang umum (dan juga multiline, case
sensitivity, dsb), dan mungkin tidak conform ke HTML spec.

Nah tinggal diterjemahin balik aja ke regex utk masing2 elemennya dr
grammar di atas utk HTMLTAG:

/\s*[a-z]+(\s+[a-z]+\s*=\s*[^]*)*\s*/

Disclaimer: untested.

Ronny
PS. BNF: http://en.wikipedia.org/wiki/Backus-Naur_form


signature.asc
Description: Digital signature


[teknologia] Re: Tanya REGEX

2006-02-28 Terurut Topik Riyogarta

Priyadi Iman Nurcahyo wrote:
 hint: kalau pakai PHP pcre bisa pakai preg_split dengan flag 
 PREG_SPLIT_DELIM_CAPTURE
   
Mmmm, iya .. kenapa saya gak kepikiran yang ini yah ... tq :)

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Harry Sufehmi

On 2/27/2006 at 11:36 AM Riyogarta wrote:
Tanya kali2 ada ahli REGEX di milis ini :)
ada text: a href=http://www.test.com; target=_blankTest/a Test 
test. testing pengtesting.
Nah, menggunakan pola REGEX, saya hendak mengubah semua kata test 
(tidak termasuk testing dan pengtesting) menjadi coba kecuali yang 
berada dalam tag HTML.

Sori bukan ngasih jawaban, tapi kailnya - mudah-mudahan cocok :-)   sudah 
pernah coba Regex Coach ?
Enak banget, bikin regex jadi jauh lebih mudah dengan ini.

Plus, dia ada fasilitas stepping-nya - sehingga kita bisa debug suatu regex : 
bagaimana kerjanya, dan kalau meleset, dimana persisnya dia meleset.



Salam,
Harry


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Priyadi Iman Nurcahyo

On Monday 27 February 2006 11:36, Riyogarta wrote:

 ada text: a href=http://www.test.com; target=_blankTest/a Test
 test. testing pengtesting.

 Nah, menggunakan pola REGEX, saya hendak mengubah semua kata test
 (tidak termasuk testing dan pengtesting) menjadi coba kecuali yang
 berada dalam tag HTML.

kalau begini mungkin kalau pakai regex susah dan mungkin gak cocok pakai 
regex, akan jauh lebih gampang kalau pakai parser. yang jadi masalah regex 
tidak tahu konteks dimana suatu string diletakkan.

coba gini, proses string tahap demi tahap, cari tag html, kalau itu tag 
outputkan tanpa direplace, kalau di luar tag html, baru diproses pakai regex.

-- 
http://priyadi.net

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Riyogarta

Ronny Haryanto wrote:
 Ini bisa pake non-word boundary (\W) dan pake zero-width
 look-ahead/look-behind assertions (man perlre). Coba gini:

 [EMAIL PROTECTED] ~ $ cat x
 a href=http://www.test.com; target=_blank comments= Test/a Test
 test. testing pengtesting atest teSt atest.
 [EMAIL PROTECTED] ~ $ perl -pe 's/(^|(?=\W))test(?=\W)/Coba/gi'  x
 a href=http://www.Coba.com; target=_blank comments= Coba/a Coba
 Coba. testing pengtesting atest Coba atest.

 Nah tinggal yg di dalam tag aja. Ini lebih ribet, hehe, dan terus
 terang saya lagi gak ada ide, mungkin rekan lain bisa kasih masukan.

 Ronny
   
Hehehe, kalau sampai sini saya dah bisa ;)
Ipreg_repace(/\btest\b/i, Coba, $instring)
$instring adalah variable yang berisi text awal.

justru pengecualian didalam tag  dan  itu yang jadi masalah.
btw Thx :)

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Riyogarta

Harry Sufehmi wrote:
 Sori bukan ngasih jawaban, tapi kailnya - mudah-mudahan cocok :-)   sudah 
 pernah coba Regex Coach ?
 Enak banget, bikin regex jadi jauh lebih mudah dengan ini.

 Plus, dia ada fasilitas stepping-nya - sehingga kita bisa debug suatu regex 
 : bagaimana kerjanya, dan kalau meleset, dimana persisnya dia meleset.

   
Belum .. tq, nanti saya coba :)

-- 
Salam,
Riyogarta
http://riyo.bedeng.com


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Riyogarta

Priyadi Iman Nurcahyo wrote:
 On Monday 27 February 2006 11:36, Riyogarta wrote:

   
 ada text: a href=http://www.test.com; target=_blankTest/a Test
 test. testing pengtesting.

 Nah, menggunakan pola REGEX, saya hendak mengubah semua kata test
 (tidak termasuk testing dan pengtesting) menjadi coba kecuali yang
 berada dalam tag HTML.
 

 kalau begini mungkin kalau pakai regex susah dan mungkin gak cocok pakai 
 regex, akan jauh lebih gampang kalau pakai parser. yang jadi masalah regex 
 tidak tahu konteks dimana suatu string diletakkan.

 coba gini, proses string tahap demi tahap, cari tag html, kalau itu tag 
 outputkan tanpa direplace, kalau di luar tag html, baru diproses pakai regex.

   
Betul, mungkin ini kemungkinan terakhir, saya harus me-rename terlebih 
dahulu string yang ada dalam tag menjadi string lain untuk sementara 
waktu. Baru setelah semua proses dijalankan string tersebut diubah 
kembali ke bentuk semula. Hanya, saya pun belum bisa menemukan regex 
yang pas agar,
misalnya:
a href=www.test.com target=_blank
menjadi
a href=www.##temp001##.com target=_blank
saya tadi coba regex  preg_match(/[^]*test*\?[^]*\/i,  Coba,  
$instring) ... weleh .. malah semuanya keganti Coba hahaha.
Kaco ah ilmu regex gue :D
Coba mau test tools dari Harry dulu  masih penasaran  thx
 

-- 
Salam,
Riyogarta
http://riyo.bedeng.com


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Riyogarta

Harry Sufehmi wrote:
 Sori bukan ngasih jawaban, tapi kailnya - mudah-mudahan cocok :-)   sudah 
 pernah coba Regex Coach ?
 Enak banget, bikin regex jadi jauh lebih mudah dengan ini.

 Plus, dia ada fasilitas stepping-nya - sehingga kita bisa debug suatu regex 
 : bagaimana kerjanya, dan kalau meleset, dimana persisnya dia meleset.
   
Wah ... saya sudah dl ... mantab nih .. thanks, bisa belajar regex lebih 
jelas :)

-- 
Salam,
Riyogarta
http://riyo.bedeng.com


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Zaki Akhmad

Riyogarta wrote:
 
 Wah ... saya sudah dl ... mantab nih .. thanks, bisa belajar regex lebih
 jelas :)

Saya belum kenal baik dengan Regex. Dulu cuma pernah baca bukunya
Steven Haryanto, Regex, yang sampulnya warna biru. Tapi baru sebatas
baca doang, belum dipraktekin dan dikutak-kutik. Yah, semoga informasi
diatas berguna bagi para pemula yang ingin mengenal Regex untuk pertama
kali.
 
 -- 
 Salam,
 Riyogarta
 http://riyo.bedeng.com

Zaki Akhmad


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik rofiq

On 2/28/06, Riyogarta [EMAIL PROTECTED] wrote:

 Priyadi Iman Nurcahyo wrote:
  On Monday 27 February 2006 11:36, Riyogarta wrote:
 
 
  ada text: a href=http://www.test.com; target=_blankTest/a Test
  test. testing pengtesting.
 
  Nah, menggunakan pola REGEX, saya hendak mengubah semua kata test
  (tidak termasuk testing dan pengtesting) menjadi coba kecuali yang
  berada dalam tag HTML.
 
 
  kalau begini mungkin kalau pakai regex susah dan mungkin gak cocok pakai
  regex, akan jauh lebih gampang kalau pakai parser. yang jadi masalah regex
  tidak tahu konteks dimana suatu string diletakkan.
 
  coba gini, proses string tahap demi tahap, cari tag html, kalau itu tag
  outputkan tanpa direplace, kalau di luar tag html, baru diproses pakai 
  regex.
 
 
 Betul, mungkin ini kemungkinan terakhir, saya harus me-rename terlebih
 dahulu string yang ada dalam tag menjadi string lain untuk sementara
 waktu. Baru setelah semua proses dijalankan string tersebut diubah
 kembali ke bentuk semula. Hanya, saya pun belum bisa menemukan regex
 yang pas agar,
 misalnya:
 a href=www.test.com target=_blank
 menjadi
 a href=www.##temp001##.com target=_blank
 saya tadi coba regex  preg_match(/[^]*test*\?[^]*\/i,  Coba,
 $instring) ... weleh .. malah semuanya keganti Coba hahaha.
 Kaco ah ilmu regex gue :D
 Coba mau test tools dari Harry dulu  masih penasaran  thx

Kalo saya akan bagi ini ke 2 regex, ini karena keterbatasan algoritma
regex itu sendiri. Pertama cari tag, hasilnya terus diregex untuk
replace semua string test ke coba.

saya kasih contoh ruby ya, udah lama gak pegang php, liat regexnya aja
(karakter diantara /). str variable bisa diisi content html. method
gsub pertama cari string yg diantara , hasilnya masuk ke variable
tag kemudian di regex lagi (atau pake simple string replace juga bisa
kalo udah sampe disini).

str.gsub(/[^]*/) do |tag|
  tag.gsub(/test/, 'coba')
end

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Harry Sufehmi


On 2/28/2006 at 12:36 AM Riyogarta wrote:
Harry Sufehmi wrote:
 Sori bukan ngasih jawaban, tapi kailnya - mudah-mudahan cocok :-)  
sudah pernah coba Regex Coach ?
 Enak banget, bikin regex jadi jauh lebih mudah dengan ini.
   
Wah ... saya sudah dl ... mantab nih .. thanks, bisa belajar regex lebih 
jelas :)

Makan-makan dong, McD sektor 9 juga boleh  ;)

btw; Regex Coach ndak perfect amat, tapi sudah lumayan banget, dalam berbagai 
kasus saya selama ini, biasanya sangat banyak membantu.


Salam,
Harry


--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Ronny Haryanto
On Tue, Feb 28, 2006 at 12:22:35PM +0900, rofiq wrote:
 str.gsub(/[^]*/) do |tag|
   tag.gsub(/test/, 'coba')
 end

Regexnya di atas akan match  yang berada di dalam tanda double
quotes juga, seperti ini:

img src=gambar.jpg alt= width=100 title=test /

(cuma segini matchnya)

dan test di atas masih akan kereplace. Tapi kayaknya sih bare 
dan  nggak legal, harusnya jadi lt; dan gt; ya? (lagi males nyari
di X?HTML spec).

Di posting saya sebelumnya saya tambah2in test filenya dg cases yg
lebih luas dikit termasuk yg di atas. Itu pun masih belum consider
yang multiline begini:

img
src=gambar.jpg
alt=
width=100 /

Have fun! :-)

BTW, kalo buat wordpress sih liat aja source codenya gimana dia bisa
nge-strip tags dr feednya kalo yg dibuat summary (seperti feed saya
dan Priyadi). Malah mungkin sudah ada function yg bisa anda (OP) pake.

Ronny


signature.asc
Description: Digital signature


[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik rofiq

On 2/28/06, Ronny Haryanto [EMAIL PROTECTED] wrote:
 On Tue, Feb 28, 2006 at 12:22:35PM +0900, rofiq wrote:
  str.gsub(/[^]*/) do |tag|
tag.gsub(/test/, 'coba')
  end

 Regexnya di atas akan match  yang berada di dalam tanda double
 quotes juga, seperti ini:

 img src=gambar.jpg alt= width=100 title=test /
 
 (cuma segini matchnya)

 dan test di atas masih akan kereplace. Tapi kayaknya sih bare 
 dan  nggak legal, harusnya jadi lt; dan gt; ya? (lagi males nyari
 di X?HTML spec).

sebenernya sih aku ngikut contoh sblmnya aja :-)
tapi emang style kaya' gini sering kepake juga, kalau diganti regexnya
jadi .* (pake dot) pasti matchnya bukan ama karakter greater-than
(g-t) terdekat, tapi ama g-t yg terakhir, ada yg bisa jelasin?

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-27 Terurut Topik Akhmad Fathonih

On 2/28/06, rofiq [EMAIL PROTECTED] wrote:

 On 2/28/06, Ronny Haryanto [EMAIL PROTECTED] wrote:
  On Tue, Feb 28, 2006 at 12:22:35PM +0900, rofiq wrote:
   str.gsub(/[^]*/) do |tag|
 tag.gsub(/test/, 'coba')
   end
 
  Regexnya di atas akan match  yang berada di dalam tanda double
  quotes juga, seperti ini:
 
  img src=gambar.jpg alt= width=100 title=test /
  
  (cuma segini matchnya)
 
  dan test di atas masih akan kereplace. Tapi kayaknya sih bare 
  dan  nggak legal, harusnya jadi lt; dan gt; ya? (lagi males nyari
  di X?HTML spec).

 sebenernya sih aku ngikut contoh sblmnya aja :-)
 tapi emang style kaya' gini sering kepake juga, kalau diganti regexnya
 jadi .* (pake dot) pasti matchnya bukan ama karakter greater-than
 (g-t) terdekat, tapi ama g-t yg terakhir, ada yg bisa jelasin?

CMIIW, bukannya ada non-greedy match?
contoh:
/.*?/ = match from  until the first occurence of .

*bukan penjelasan :D*

--
Akhmad Fathonih | http://blog.neofreko.com | http://jogja.linux.or.id
Are you geek enough to handle all these sh**s?
This is my way of Ninja (Naruto, Konoha Village)

--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---



[teknologia] Re: Tanya REGEX

2006-02-26 Terurut Topik Ronny Haryanto
On Mon, Feb 27, 2006 at 11:36:18AM +0700, Riyogarta wrote:
 Permasalahannya adalah, langsung contoh kasus saja yah :)
 
 ada text: a href=http://www.test.com; target=_blankTest/a Test 
 test. testing pengtesting.

Itu aslinya satu baris atau bisa multiline?

Regexnya rasa apa? POSIX? Perl/PCRE? Ruby? BBQ? Cheese?

Case sensitive?

 Nah, menggunakan pola REGEX, saya hendak mengubah semua kata test 
 (tidak termasuk testing dan pengtesting) menjadi coba kecuali yang 
 berada dalam tag HTML.

Akan lebih mudah lagi kalo anda berikan juga hasil akhir yg diinginkan
seperti apa.

semua kata 'test' (tidak termasuk testing dan pengtesting) itu
apakah maksudnya kata test yang berdiri sendiri sebagai satu kata?

dalam tag HTML itu artinya apa? Di antara  dan  atau di antara
tag dan /tag?

Approach saya:
- match yang dalam tag HTML, test
- match test yang berdiri sendiri sebagai satu kata, test
- gabungkan negasi dr kedua di atas (supaya bisa match test yang
  tidak termasuk kedua di atas), test
- ganti match jadi replace, test

Ronny


signature.asc
Description: Digital signature


[teknologia] Re: Tanya REGEX

2006-02-26 Terurut Topik Riyogarta

Ronny Haryanto wrote:

On Mon, Feb 27, 2006 at 11:36:18AM +0700, Riyogarta wrote:
  

Permasalahannya adalah, langsung contoh kasus saja yah :)

ada text: a href=http://www.test.com; target=_blankTest/a Test 
test. testing pengtesting.



Itu aslinya satu baris atau bisa multiline?

Regexnya rasa apa? POSIX? Perl/PCRE? Ruby? BBQ? Cheese?

Case sensitive?
  

bisa multiline, regex rasa perl :) incasesensitif (/i). Saya menggunakan 
fungsi preg_replace dalam PHP.

Akan lebih mudah lagi kalo anda berikan juga hasil akhir yg diinginkan
seperti apa.
  

Awal:

a href=http://www.test.com; target=_blankTest/a Test 
test. testing pengtesting.

semua kata test (incasesensitif) diubah menjadi Coba, tapi tidak 
semua sehingga menjadi:

a href=http://www.test.com; target=_blankCoba/a Coba 
Coba. testing pengtesting.


Approach saya:
- match yang dalam tag HTML, test
  

Tidak berubah.

- match test yang berdiri sendiri sebagai satu kata, test
  

Berubah, berikut yang bersama tanda baca misal test. (diakhiri titik) 
atau test ... ini tetap berubah.

Tetapi yang bergabung dengan kata lain tidak berubah, misal testing atau 
btestb dll tidak berubah.

Trims :)

Plugin sebenarnya sudah jadi di 
http://riyo.bedeng.com/2006/02/23/wp-plugin-def-link/
hanya rasanya tidak sempurna akibat keterbatasan saya dalam ilmu 
mengolah pola REGEX.
Saya coba membuat secara manual (hanya menggunakan regex boundary (\b)), 
hanya hasilnya masih tidak sesuai harapan :(

Salam,
Riyogarta
http://riyo.bedeng.com



--~--~-~--~~~---~--~~
Anda menerima pesan ini karena Anda tergabung pada grup Grup Google 
teknologia grup.
 To post to this group, send email to teknologia@googlegroups.com
 Untuk keluar dari grup ini, kirim email ke [EMAIL PROTECTED]
 Untuk pilihan lainnya, lihat grup ini pada 
http://groups.google.com/group/teknologia
-~--~~~~--~~--~--~---