Yazar |
|
logos
Kayıt: 19.01.2006 |
|
Merhaba arkadaşlar. Regular expressions ile bir string den belli kelimeleri çekmeye çalışıyorum. Bunları daha sonra replace edeceğim. Şimdi uğraştığım olay şöyle;
Başında ve sonunda herhangi bir tırnak işareti olmayan tüm kelimeleri yakalayıp daha sonra onların başına tırnak ekleyerek değiştireğim.
ör string: kelime01 kelime02 kelime03 'kelime 04 ? * - / kelime 05'
replace etmek istediğim hali: "kelime01" "kelime02" "kelime03" 'kelime 04 ? * - / kelime 05'
şimdi regex olarak, '.*' olarak aldığımda bu tek tırnak içindeki grubu yakalıyorum. Ancak ben bu grup dışındaki bütün kelimeleri yakalamak istiyorum, önerisi olan var mı?
|
|
Yazar |
|
ali
istanbul
admin
Kayıt: 04.01.2006 |
|
logos yazdi | Merhaba arkadaşlar. Regular expressions ile bir string den belli kelimeleri çekmeye çalışıyorum. Bunları daha sonra replace edeceğim. Şimdi uğraştığım olay şöyle;
Başında ve sonunda herhangi bir tırnak işareti olmayan tüm kelimeleri yakalayıp daha sonra onların başına tırnak ekleyerek değiştireğim.
ör string: kelime01 kelime02 kelime03 'kelime 04 ? * - / kelime 05'
replace etmek istediğim hali: "kelime01" "kelime02" "kelime03" 'kelime 04 ? * - / kelime 05'
şimdi regex olarak, '.*' olarak aldığımda bu tek tırnak içindeki grubu yakalıyorum. Ancak ben bu grup dışındaki bütün kelimeleri yakalamak istiyorum, önerisi olan var mı? |
en basit cozum ilk once tirnakli olanlari alip geri kalan her grup icin bosluk la arama yapmak olur.
[a-z]{6}[0-9]{2} her aradigin 'kelimeXX' ile eslesir ama bu tam olarak ihtiyacini karsilamayabilir. ayrica yapacagin isin turune gore unix toollarini (awk, sed, grep ...) kullanmani oneririm.
duzenlemek istedigin metnin bir parcasini verirsen daha net cevaplar bulabilirsin.
free software is a matter of liberty, not price. to understand the concept, you should think of free speech, not free beer.
|
|
Yazar |
|
logos
Kayıt: 19.01.2006 |
|
Düzenlemek istediğim kelime şöyle bir şey:
insert into table01 (column1, column2, column3, iscolumn4) values(123, '12-qweqwe+*/_?3', "asd", 345)
bu sadece örnek, amacım ise şu, sql string lerinde column isimlerini ve tablo isimlerini yakalayıp onlara delimited identifier eklemek istiyorum. Şu an için bu regex:
(?i)(?s)\b(?<!'.*|.*')(?!\d|values|insert|into)(\w+)\b
işe yarıyor, ileride tekrar patlatırsa bir kez daha el atmam gerekecek, yine de sağol cevabın için
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|