@malpi: To zależy już od języka i metody robiącej matcha. Czasem #!$%@? na całym tekście, czasem robimy wyszukiwanie itd.

W javie na przykład jest założenie, że cały tekst #!$%@? do podanego regexa, ale są też metody do szukania, podmiany, itd.
  • Odpowiedz
Jak zrobić, żeby znalazło "body" w tekście, ale tak, żeby pokazało max 20 znaków przed i po znalezionym słowie.

Jak zrobię:
results = re.findall(".{20}body.{20}", content)

to znajdzie tylko dokładne dopasowanie gdzie jest 20 znaków przed i po a ja chciałbym wszystkie body, tylko żeby pokazywało te 20 znaków przed i po znalezionym "body".
czy to jakieś strukturalizowane dane typu html/xml?


@qbek: Nie. Po prostu w javascript coś nie działało i szukałem, gdzie użyłem "body" oraz chciałem podejrzeć w jakim kontekście było użyte. Także to rozwiązanie {0,20} dało dobre wyniki.
  • Odpowiedz
@grizzly_joe: po co regexp do czegoś do czego nie jest potrzebny regex?

scala> "Ala ma # bardzo miłego grzecznego kota".split(" ").sliding(3).filter(_.forall(_.length > 2)).toList
val res5: List[Array[String]] = List(Array(bardzo, miłego, grzecznego), Array(miłego, grzecznego, kota))
  • Odpowiedz
  • 0
@pyroxar kropka . Znaczy "dowolny znak", escape'owana kropka \. znaczy kropka.

Poza tym Twoje wyrażenie i tak jest złe w całości, gdzieś się tam totalnie pogubiłeś. To wynika choćby z faktu niedomkniecia jednego nawiasu.

Kolejna rzecz że nawet jak poprawisz to i tak będzie źle bo standard adresów email jest bardzo skomplikowany, teoretycznie:
adam.nowak+xyz@localhost jest prawnym adresem
  • Odpowiedz
  • 1
@pyroxar po wysłaniu komentarza chyba zrozumiałem że Twoje wyrazenie może jednak mieć poprawą składnie tylko wykop masakruje backslashe przy zapisie komentarza xD i Tobie pewnie też zmasakrował.

Niemniej wszystko co napisałem powyżej nadal w sumie aktualne.
  • Odpowiedz
halp XD
#regex
dawno dawno temu korzystałem delikatnie z regexów i teraz mi są turbo potrzebne xD

Mam string "X/0/12/34/5678/9" i muszę z niego wyciągnąć "12", totalnie nie mam pomysłu jak to zrobić, szczególnie, że pierwszy i drugi segment ("0" i "12") czasem jest jedno a czasem dwucyfrowy (zawsze liczba, nigdy znak).
Pewnie to banał ale nie pamiętam tego za cholere xD
#javascript
@KKK1337: tak jest, nie koniecznie fakturowy ale numerowanie dokumentów.
A co do wykorzystania to jestem ameba z js, ostatnio coś pisałem w 2016 xD także będę tryhardował
  • Odpowiedz
Pytanie czy chcesz się zabezpieczyć przed inputem, który jednak będzie miał inny format (litery zamiast cyfr) i go odrzucić, czy nie. Ja wolałbym się zabezpieczyć, Ty nie. OP może sobie wybrać wedle własnego uznania.
  • Odpowiedz
@zwei: nie rob tego regexem, szkoda zachodu. zrob najpierw split po '=>', lewa strone znowu zrob split po ','. To co zostanie zrob split po spacji i bedziesz mial juz ladnie zrobione.
  • Odpowiedz