Author Topic: Regulární výraz  (Read 3425 times)

pupac

  • Newbie
  • *
  • Posts: 3
    • View Profile
Regulární výraz
« on: December 22, 2014, 02:18:03 PM »
Ahoj, můžete mi prosím někdo poradit s tímto výrazem (příklad):  [bgx]{1,3}  problém je v tom, že nesmí dojít k opakování znaku. Díky.

pepak

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 945
    • View Profile
    • Pepak.net
Re: Regulární výraz
« Reply #1 on: December 24, 2014, 07:50:19 PM »
Tomuto výrazu vyhovují všechny řetězce, které kdekoliv uvnitř obsahují písmeno b, g nebo x. Bez ukotvení nebo dalších komponent výrazu je ta část ve složené závorce nepodstatná, nepřidá ani neodebere žádné řetězce.

pupac

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Regulární výraz
« Reply #2 on: December 26, 2014, 08:57:04 PM »
Díky za odpověď,
asi jsem se vyjádřil špatně, uvedený výraz je pouze příklad, který má demonstrovat požadavek neopakování znaku. Tak tedy přesněji: ^[bgx]{1,3}$
Samozřejmě aby byl požadavek splněk, bude výraz vypadat úplně jinak, jen nevím jak a ji-li to vůbec v možnostech regulárních výrazů.
Díky

pepak

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 945
    • View Profile
    • Pepak.net
Re: Regulární výraz
« Reply #3 on: December 28, 2014, 07:58:45 AM »
No a co přesně je tedy požadavek? Přesně. Pod "požadavek neopakování znaku" si můžu představit cokoliv.

pupac

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Regulární výraz
« Reply #4 on: December 28, 2014, 03:03:07 PM »
Uvedenému výrazu vyhovují všechny řetězce obsahující 1 až 3 z uvedených znaků ve všech možných kombinací pořadí, tedy i např. "ggg". Můj požadavek je regulární výraz, kterému vyhoví pouze takové řetězce z uvedené množiny, ve kterých se znaky neopakují, tedy přesně tyto řetězce: "bgx", "bxg", "gbx", "gxb", "xbg", "xgb", "bg", "gb", "bx", "xb", "gx", "xg", "b", "g", "x".

pepak

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 945
    • View Profile
    • Pepak.net
Re: Regulární výraz
« Reply #5 on: December 28, 2014, 03:23:03 PM »
To podle mě nepůjde napsat o moc stručněji než výčtem možností. Dovedu si to představit pomocí look-aroundů, ale v kombinaci s různou délkou řetězců to nejspíš vyjde hůř než jednoduché ^(g|b|x|gb|gx|...)$

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
This box must be left blank:

Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture: