Z cyklu wyrażenia regularne: Mam sobie string, który zawiera ułamki zwykłe zapisane w notacji:

- X SEPARATOR Y (bez spacji, dałem je, żeby było czytelniej) gdzie X jest licznikiem, SEPARATOR to pewien string rozdzielający, a Y mianownikiem

- X SEPARATOR Y SEPARATOR Z (również bez spacji) gdzie X to część całkowita, Y to licznik, a Z to mianownik.

Mogą
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ogur: (#) Dobra, czekaj, przyjrzałem się tej Twojej funkcji (tej pierwszej) i jednak faktycznie, to jest to co chcę (sorry za takie nieogarnięcie z rana ^^). Dzięki wielkie!

@wicikumoza: (#) Również dziękuję
  • Odpowiedz
Nakierujecie mnie trochę z parsowaniem html w #csharp? Używając HtmlAgilityPack udaje mi się wyciągnąć div o interesującej mnie wartości parametru class, w którym znajdują się szukane dane. Format danych wygląda tak: http://pastebin.com/RCJmTEPJ

Trochę to mało przyjazne do automatycznej interpretacji, ale nie ja to pisałem. Chcę sobie teraz te dane wyciągnąć i opakować w obiekt. Na szczęście parametrów jest stała liczba i stałe nazwy. Czy #regexp to dobre
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erwit: To takie narzędzie, dzięki któremu jeśli masz problem, to bardzo szybko moƶesz mieć 2 problemy

@mqmq: znaczekPodTylda tresc znaczekPodTylda ⟶

tresc
!spoiler tag
  • Odpowiedz
#programowanie #regexp

Potrzebuję wyrażenie regularne które wyciągnie z treści ciąg dokładnie 9 cyfr (ani 1 więcej ani mnie). Z tym że w treści mogą występować też ciągi dłuższe (one powinny zostać olane). Ma ktoś na szybko?
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@GGrindzior: Generalnie tak właśnie powinieneś zrobić – łatwiejsze w zrozumieniu i utrzymaniu oraz ewentualnym rozszerzaniu. Ponadto lookahead jest dość kosztowny w regexpach (tu raczej nie będzie to miało większego wpływu, ale jednak).

A w zasadzie, jeśli to tylko sprawdzanie rozszerzenia, to najprostszy sposób będzie najlepszy:

[1] Tablica z niechcianymi rozszerzeniami –
  • Odpowiedz
@Rincewind: "I żaden regexp nie jest potrzebny" brzmi jak "i żyli długo i szczęśliwie". Siriusli. Podpisuję się obiema rękami pod mottem, którym Damian Conway opatrzył rozdział o wyrażeniach regularnych w książce "Perl Best Practices", cytuję z pamięci: "Czasami programista napotyka na problem i myśli sobie: wiem, rozwiążę to wyrażeniem regularnym! Od tej pory ma dwa problemy."
  • Odpowiedz
@babisuk: jeżeli taką przyjęto konwencję to postaram się do niej stosować, ale zrobię to tylko z uwagi na fakt, iż kolega jest bordo ;)

btw. problem udało mi się rozwiązać wykorzystując metodę split klasy String
  • Odpowiedz
Jest wyrażenie regularne:

[a-z/./,/?/!]X[a-z/./,/?/!]

Chcę wyszukać takie 3 znakowe ciągi w pliku tekstowym i zamienić X na Q. Jak to zrobić w notepad++? Chodzi mi o to, żeby nie zamieniać całego ciągu, tylko środkowy znak.

#regexp #pytaniedoeksperta
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@handler: Miałem kiedyś podobny problem, nie podam ci teraz rozwiązania, bo nigdy nie pamiętam reguł, ale trzeba to napisać tak, żeby akceptował

dowolne 1, 2, lub 3 cyfry - tak łapiesz przedział od 1 do 999

a na końcu
  • Odpowiedz
#programowanie #regexp

Mam takie wyrażenie:

/#([A-Za-z]+)/
I chciałbym je zmodyfikować tak, aby wykluczyć przypadki, gdy przed # (hashem) jest : dwukropek lub = znak równości. Mogę prosić o pomóc?
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nawiasy na zewnątrz pozwolą Ci złapać całość wyrażenia w razie co. Nie są konieczne jeśli preg_matcha używasz - wtedy domyślnie cały regexp jest zwracany do wyniku. Grunt, że działa :) Nie ma to jak fajna łamigłówka dla wprawy na początek dnia :)
  • Odpowiedz
@YvusBellator: tak, notepad++ w przeglądarce pdf robisz zaznacz wszystko, kopiujesz, a potem w npp wyszukujesz wyrażenia regularne, robisz makro i tyle :)

Możesz też oczywiście np w php coś takiego napisać :)
  • Odpowiedz
@YvusBellator: Bez dodatków,same makro wystarczy dobrze zrobić, czyli wyszukujesz wyrażenie regularne kopiujesz je do schowka i powiedzmy wklejasz na końcu dokumentu :) Tak na szybko pomyślane, ale Notepad++ jest do tego świetny :))
  • Odpowiedz
#regexp

Dobra nie chce mi się myśląc... Pomożecie? Potrzebuje regexa, który złapie wszystkie #(\d+) ale nie zawierające się w tagu ...

W skrócie, chce zamienić wszystkie #numerek na link, ale nie ruszać jak już jest linkiem.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach