newbie: RegExp

Hallo,

ich möchte in einem String der Potenzen ausgibt all a^23+b^45 durch
a<sup>23</sup>+b<sup>45</sup> ersetzen. Die folgende RegExp geht aber nur teilweise.

curBuildTerm.replace(/(\S.+)(^)(\d.+)(\S.+)/g,'$1<sup>$3</sup>$4<br>')

Kann mir jemand sagen, wie die RegExp korekt aussehen würde?

  1. Kann mir jemand sagen, wie die RegExp korekt aussehen würde?

    Du suchst nach "^" (was du nicht mehr brauchst) gefolgt von beliebig vielen Ziffern (die du dir merken musst):

    /\^(\d+)/g

    Das "g" (greedy) am Ende, damit du nicht nur das erste zutreffende Suchmuster ersetzst, sondern alle.

    formel = "(a + b)^3 = a^3 + 3a^2b + 3ab^2 + b^3";  
    document.write(formel.replace(/\^(\d+)/g, "<sup>$1</sup>"));
    

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)