Autor Zpráva
Ondrej
Profil *
Ahoj, potřebuji upravit následující regulární výraz.
text = '#00 Lorem the #12 ipsum#34 dolor sit amet,';
re = /#([0-9]+)/g;
console.log(text.replace(re, '<a href="$1">#$1</u>'));
// <a href="00">#00</u> Lorem the <a href="12">#12</u> ipsum<a href="34">#34</u> dolor sit amet,


Chci aby se nahrazovaly čísla začínající mřížkou. Před mřížkou musí být prázdný (nebo nic) znak, za číslem to samé.
Výstup by tedy měl vypadat takto
<a href="00">#00</u> Lorem the <a href="12">#12</u> ipsum#34 dolor sit amet,
LuBoss
Profil *
Skus toto:
re = /(?:^|\s)#([0-9]+)(?:\s|$)/g;
Ondrej
Profil *
Teď když to vidím tak to vypadá jasně, musím se naučit číst dokumentaci pozorněji. Mockrát díky, bylo to přesně jak jsem potřeboval. Jen jsem neřekl že potřebuji zachovat mezery před a za. Zapamatování to ale vyřešilo.

text = '#00 Lorem the #12 ipsum#34 dolor sit amet,';
re = /(^|\s)#([0-9]+)(\s|$)/g;
console.log(text.replace(re, '$1<a href="$2">#$2</a>$3'));


Ještě jednou díky moc.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0