Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:7cfe:a7...–

peter
JavaScript, AJAX, jQuery › reg. vyraz - nahrazeni zname…
11. 5. 2018   #220823

Hele, mozne to je. Nekde uz jsem resil problemy se zavorkami, ale je to uz delsi cas. Mozna to bylo u php.
a(b)|c(d)
Kdyz nasel a(b), tak $1=b. Kdyz ne, tak dalsi test byl na c(d) a $1=d. Ale fakt si nejsem jisty :)
Ja uz to pak v tom js zacal resit callback funkci a zobrazoval jsem si vsechno. A nejspis to funguje presne, jak popisujes, protoze mi to tam pak alertovalo undefined v miste, kde jsem to necekal

str = str.replace(reg, calc.x);
calc.x = function(match, a, b)
	{
	alert([match, a, b])
	return '';
	}

Kazdopadne dik, problem mi to vyresilo.

peter
JavaScript, AJAX, jQuery › reg. vyraz - nahrazeni zname…
11. 5. 2018   #220818

Jj, tak je to presne, co jsem si myslel, podle dokumentace :)
A samozrejme minusko na zacatku [-xyz] se nemusi komentovat [xyz\\-], ale ja chci zachovat poradi znaku v ramci celeho programu.

peter
JavaScript, AJAX, jQuery › reg. vyraz - nahrazeni zname…
11. 5. 2018   #220817

gna - mrknu

Jen jsem chtel rici, ze uz vim, kde je asi problem. Normalne matchuje zleva. Ja potrebuji zprava. Cili
*/+- ... [+\\-]+([+\\-])|[/*]+([/*])
+ je 1 az n. Neni predem receno, kolik tech n veme. nejspis skonci u 1
Nejspis by to vyresil i spravne polozeny ? a duplikovani druhe zavorky s negaci.
[+\\-]+?[^+\\-]
Ale ty rovnitka jsem videl v dokumentaci, kdysi, tak mrknu, jestli to nedela presne totez.

peter
JavaScript, AJAX, jQuery › reg. vyraz - nahrazeni zname…
11. 5. 2018   #220806

   

    str = "1*/+-2"
    patt = '[+\\-]+([+\\-])|[/*]+([/*])';    // [+\\-]+([+\\-])    [/*]+([/*])
    reg  = new RegExp(patt,'g')
    while (str.match(reg)!=null)
        {
        str = str.replace(reg,"$1");
        }

To by melo nahradit opakujici znamenka.
Vysledek ted 1-2
Vysledek ocekavany 1/-2
Firefox 58. Co delam spatne s tim reg. vyrazem? A pritom samostatne kazda cast toho reg. vyrazu funguje spravne.
patt = '[+\\-]+([+\\-])'
patt = '[/*]+([/*])'

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý