Wpis z mikrobloga

#programowanie #php #webdev
Ogarnia ktoś tu wyrażenia regularne? Chcę aby podmieniało mi tekst według przykładu:

*abc* -> *abc*
**abc** -> **abc**
***abc*** -> ***abc***
Problem w tym że nie potrafię zrobić aby przykład pierwszy nie krzyżował się z drugim oraz trzecim. Już ponad godzinę się z tym męczę i po prostu nie mogę ()
  • 9
@shooly: tak na szybko i bez głębszych testów, ale może Ci to coś podpowie:

Regexy dla kolejnych przykładów:

(?<!\*)[*]([^*]+)[*](?!\*)
(?<!\*)[*]{2}([^*]+)[*]{2}(?!\*)
(?<!\*)[*]{3}([^*]+)[*]{3}(?!\*)
@TheFlashes:

W trzecim sprawdzanie lookahead i lookbehind może zostać pominięte, wtedy *****abc***** zostanie zamienione na *****abc*****, bo w obecnym rozwiązaniu większa ilość gwiażdek spowoduje, że nic nie podmieni.