Tüm & öğelerini bir HTML öğesinin parçası olmayan bir Dizede değiştirmeniz gerekir. Dize "Bu & entites >
& <
" dönecektir BöyleceRegex optimizasyonu - java'daki çıkış işaretlerinden kaçış
Ve bu regex-desenli geldim "> & <
Bu &
entites": "& [a-z-0-9] {2 , 7}; "iyi çalışıyor. Ama ben normal ifadede çok yetenekli değilim ve 100k yineleme üzerinde hızı test ettiğimde, regex kullanmayan bir önceki kullanılan yönteme göre çift kez kullanır. (Ama% 100 çalışan werent).
deneme kodunda:
long time = System.currentTimeMillis();
String reg = "&(?!&#?[a-zA-Z0-9]{2,7};)";
String s="a regex test 1 & 2 1&2 and &_gt; - &_lt;"
for (int i = 0; i < 100000; i++) {test=s.replaceAll(reg, "&");}
System.out.println("Finished in:" + (System.currentTimeMillis() - time) + " milliseconds");
Yani soru optimize bazı bariz yolları daha etkili olabilmesi için bu regex ifadesi olup olmadığını olurdu?
Ben gibi çizgi ile &_gt; entites yazmak zorunda aksi takdirde kod içindi sembolü olarak göstermek istiyorum. – Duveit
Neredeyse dört kişimiz, kod biçiminde tırnak işaretleri içeren ve işaretleri çevrelemek için metninizi düzenlemeye çalıştık. Sadece istediğiniz metni seçin ve kodu kullanın, bu işareti ve işareti koruyacaktır. – cgp