Autor Zpráva
Darth-Cz-
Profil *
Dobrý den,

opět vás touto cestou prosím o pomoc s regulárním výrazem. Mám následující text:

všechny pokoje jsou rustikálně a účelně zařízeny, s kabelovou TV a telefonem. Jednolůžkové pokoje (A1A): se sprchou, WC a některé s balkónem. Dvoulůžkové pokoje (A2A): se sprchou a WC. Dvoulůžkové pokoje (A2B): se sprchou, samostatným WC a balkónem.

z něj potřebuji rozparsovat tyto části:
Dvoulůžkové pokoje (A2A)
Dvoulůžkové pokoje (A2B)
Jednolůžkové pokoje (A1A)

tedy vždy text který je před (...) . Může to být i např:

jednolůžkové (A1A) a dvoulůžkové (A2A) pokoje jsou ...

Myslíte, že by to nějak šlo? Za odpověď děkuji
Nox
Profil
závorka má vždycky takhle 3 znaky nebo může vypadat jinak?
"text před" až kam? po tečku? až na začátek textu?
([^.,]*\([A-Z]\d[A-Z]\))

možná něco takového, vypadá že to funguje
Darth-Cz-
Profil *
Nox:
Zapomněl jsem, je to trochu těžší - závorka může být v těchto tvarech (cisla a pismena se mohou lisit):

(A3A)
(2B)
(A2)
(A1/A2/A3/F5/K4)
(A1S/B4S,D7G)

u většiny až po tečku, ale např zde:

jednolůžkové (A1A) a dvoulůžkové (A2A) pokoje jsou ...
to po tečku není řetězec takto začíná...
lingvik
Profil
Darth-Cz-:
To asi půjde dost těžko, dokud nestanovíš nějaké pravidlo, kam až má sahat text před závorkou. Pokud bude stačit, aby levou hranicí byly znaky tečka, čárka a pravá kulatá závorka, tak to půjde. Napsat regexp pro ty závorky není problém, to ten text před nimi. Musíš podrobně popsat, jak může vypadat ten vstupní text - co může nastat a co ne.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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