logo
06.10.2019 13:39
1
Ahoj,

mohl bych poprosit o malou radu se sestavením regex výrazu?

Mám následující seznam url adres:

https://www.mojedomena.com/english/index.html
https://www.mojedomena.com/uk/english/index.html
https://www.mojedomena.com/czechia/czech/index.html
https://www.us.mojedomena.com/english/index.html
https://www.mojedomena.com/de/deutsch/index.html
https://www.mojedomena.com/en/markets
https://www.mojedomena.com/en-gb/markets
https://www.mojedomena.com/en-sg/markets
Google

a potřebuji sestavit výraz tak, aby mi vybral všechny adresy:
- začínající http nebo https (to mi již funguje)
- obsahující pouze hostname ze seznamu (to mi již funguje)
- nezačínající "en" nebo "de" nebo formátem xx-xx (iso identifikátor jazyka) - toto mi zatím nefunguje

Mám zatím tento výraz:

Kód:
http:|https:\/\/(www\.mojedomena\.com|mojedomena\.com|www\.us\.mojedomena\.com|us\.mojedomena\.com)\/(!?(en|de|[a-z]{2}-[a-z]{2}))\/
a co mi nefunguje je ta negace
Kód:
(!?(en|de|[a-z]{2}-[a-z]{2}))
.

Nyní výraz označí

https://www.mojedomena.com/de/deutsch/index.html
https://www.mojedomena.com/en/markets
https://www.mojedomena.com/en-gb/markets
https://www.mojedomena.com/en-sg/markets

ale já potřebuji označit

https://www.mojedomena.com/english/index.html
https://www.mojedomena.com/uk/english/index.html
https://www.mojedomena.com/czechia/czech/index.html
https://www.us.mojedomena.com/english/index.html
https://www.mojedomena.com/de/deutsch/index.html

Poradil by mi někdo, co mám ve výrazu špatně a jak dosáhnout negace
Kód:
en|de|[a-z]{2}-[a-z]{2}
?

Petr

Co se právě děje na Webtrhu?

06.10.2019 14:20
2
Kód:
https?:\/\/(www\.)?(mojedomena\.com|us\.mojedomena\.com)\/(?!(en|de)(-.{2})?\/).*
06.10.2019 17:20
3
Původně odeslal QQQ
Kód:
https?:\/\/(www\.)?(mojedomena\.com|us\.mojedomena\.com)\/(?!(en|de)(-.{2})?\/).*
Zdá se že funguje, moc děkuji! :-)