Problem 1.

Przykład 1:
  1. if(element.innerHTML=="{"){ // text '{' text


W powyższym przykładzie chcę podmienić "{" na "..{.." i udaje mi się to tym sposobem:

  1. element.replace(/\"(.*)<span(.*)x<\/span>(.*)\"/g, "\"$1y$3\"");

(w poprzednim listingu jest pominięty tag pomiędzy x, mniejsza z tym)
Ale problem pojawia się jeśli dalej w tej linii jest taki sam cudzysłów.

Przykład 2:
  1. if(element.innerHTML=="{"){ // text "{" text


Problem 2.

  1. replace(/{/g, "<span style=\"cursor: pointer;\" onmouseover=\"over(this);\" onmouseout=\"out();\">{</span>");


W ten sposób zamieniam { na { zagnieżdżone w tagu. Czy mogę zrobić jakoś zestaw znaków zakazanych aby powyższe działało tylko jeśli x nie jest otoczone cudzysłowami (" oraz ')?

Wystarczy rozwiązać jeden problem aby osiągnąć pożądany efekt. tongue.gif

@edit
kurde.. wlasciwie to temat nie ukazuje całości... wiem jak utworzyć zestaw znaków zakazanych tylko, że całość i tak się pierdzieli, jeśli na przykład zrobie w powyższym [^\']{[^\'], to tak, rozwiąże problem nr. 2, ale po tym '{' będące za nawiasem (z listingu nr. 1) zje mi znaki po bokach (w tym przypadku '(' ) haha.gif

@edit
jakby ktoś był ciekaw to celem jest kod który będzie zaznaczać nawiasy jak w edytorach, nie mogę sobie tylko poradzić z omijaniem nawiasów będących częściami stringów... jak w przykładzie numer 2 problemu pierwszego, w komentarzu nawias ma wyłączone zdarzenie jednak cudzysłowia są kłócą wzajemnie,