{"id":10420,"date":"2026-09-16T18:10:00","date_gmt":"2026-09-16T16:10:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10420"},"modified":"2026-09-09T17:08:41","modified_gmt":"2026-09-09T15:08:41","slug":"wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/","title":{"rendered":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia"},"content":{"rendered":"<p>Wyra\u017cenie regularne sprawdza si\u0119 na przypadku, dla kt\u00f3rego powsta\u0142o, trafia i idzie do u\u017cytku. Co robi z drugim przypadkiem, to osobne pytanie, a odpowied\u017a brzmi cz\u0119sto: trafia i jego &#8211; tyle \u017ce nie w to miejsce, o kt\u00f3re chodzi\u0142o.<\/p>\n<p>Trzy poni\u017csze b\u0142\u0119dy przechodz\u0105 ka\u017cdy przegl\u0105d, bo \u017caden z nich nie zawodzi. Daj\u0105 co\u015b, to co\u015b wygl\u0105da w pr\u00f3bce wiarygodnie, a r\u00f3\u017cnica objawia si\u0119 jako lekko b\u0142\u0119dne dane, a nie jako komunikat o b\u0142\u0119dzie.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/treffergrenzen-pl.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Ten sam wiersz HTML dopasowany czterema wzorcami: zach\u0142anna kropka trafia niemal ca\u0142y wiersz, wersja leniwa i klasa zaprzeczona znajduj\u0105 po dwa odno\u015bniki, wersja zakotwiczona nie znajduje nic\"><figcaption>Cztery wzorce, jeden wiersz. Wyr\u00f3\u017cniony obszar to trafienie, ciemniejszy w \u015brodku to przechwycona grupa.<\/figcaption><\/figure>\n<h2>Kropka jest zach\u0142anna i kropka nie jest znakiem<\/h2>\n<p><code>.*<\/code> bierze wszystko, co mo\u017ce dosta\u0107, i oddaje tylko to, co odda\u0107 musi. W wierszu z dwoma odno\u015bnikami <code>href=\"(.*)\"<\/code> zaczyna przy pierwszym <code>href<\/code>, biegnie do ko\u0144ca wiersza, a potem cofa si\u0119 do ostatniego osi\u0105galnego cudzys\u0142owu &#8211; wynikiem jest trafienie zawieraj\u0105ce oba odno\u015bniki i znaczniki pomi\u0119dzy nimi.<\/p>\n<p>Naprawiaj\u0105 to dwie rzeczy. Leniwy kwantyfikator <code>.*?<\/code> zatrzymuje si\u0119 przy pierwszym cudzys\u0142owie, kt\u00f3ry pozwala dopasowa\u0107 reszt\u0119 wzorca. Klasa zaprzeczona <code>[^\"]*<\/code> nie potrafi w og\u00f3le przekroczy\u0107 cudzys\u0142owu, m\u00f3wi wi\u0119c to samo bez \u017cadnych nawrot\u00f3w &#8211; i to ta wersja zas\u0142uguje na zapisanie, bo wypowiada warunek, zamiast polega\u0107 na tym, jak maszyna si\u0119 cofa.<\/p>\n<h2>Klasa zaprzeczona obejmuje z\u0142amanie wiersza<\/h2>\n<p>Kropka nie trafia z\u0142amania wiersza, dop\u00f3ki nie ustawi si\u0119 prze\u0142\u0105cznika <code>s<\/code>. Zaprzeczona klasa znak\u00f3w trafia je &#8211; <code>[^&amp;]<\/code> znaczy wszystko, co nie jest ampersandem, a z\u0142amanie wiersza ampersandem nie jest.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>tekst    utm_source=newsletter\n         utm_medium=email\n\n^utm_([a-z_]+)=([^&amp;]+)$      z prze&#322;&#261;cznikiem m: 2 trafienia\n^utm_([a-z_]+)=([^&amp;]+)       bez niego: 1 trafienie przez oba wiersze\n^utm_([a-z_]+)=([^&amp;\\s]+)     naprawa: bia&#322;e znaki te&#380; wykluczone<\/code><\/pre>\n<p>To ten b\u0142\u0105d, kt\u00f3ry wygl\u0105da na problem z danymi. Wzorzec wyci\u0105gaj\u0105cy parametry z wielowierszowego wej\u015bcia zwraca warto\u015b\u0107 przypadkiem zawieraj\u0105c\u0105 wszystko, co po niej nast\u0119puje, warto\u015b\u0107 trafia do pola, a pole wygl\u0105da na bardzo d\u0142ug\u0105 nazw\u0119 kampanii, a nie na usterk\u0119.<\/p>\n<h2>Kotwice m\u00f3wi\u0105 gdzie, a nie czy<\/h2>\n<p>Bez kotwic wzorzec trafia gdziekolwiek w wej\u015bciu, co przy wyci\u0105ganiu zwykle jest po\u017c\u0105dane, a przy sprawdzaniu prawie nigdy. Sprawdzenie, czy pole zawiera same cyfry, przechodzi z <code>[0-9]+<\/code> r\u00f3wnie\u017c dla <code>abc123def<\/code>, bo o reszt\u0119 wzorca nikt nie zapyta\u0142.<\/p>\n<p>Sprawdzanie potrzebuje <code>^<\/code> i <code>$<\/code> po obu stronach oraz wiedzy, co te dwa znacz\u0105 w u\u017cywanej odmianie: bez prze\u0142\u0105cznika wielowierszowego pocz\u0105tek i koniec ca\u0142ego wej\u015bcia, z nim &#8211; ka\u017cdego wiersza. Kt\u00f3re z dw\u00f3ch jest w\u0142a\u015bciwe, zale\u017cy wy\u0142\u0105cznie od tego, czy wej\u015bcie jest jedn\u0105 warto\u015bci\u0105, czy ich list\u0105 &#8211; a to pytanie zas\u0142uguje na wyra\u017an\u0105 odpowied\u017a zamiast na ustawienie domy\u015blne, kt\u00f3re przynios\u0142a biblioteka.<\/p>\n<h2>Zagnie\u017cd\u017cone powt\u00f3rzenie to problem innego rodzaju<\/h2>\n<p>Trzy powy\u017csze b\u0142\u0119dy daj\u0105 odpowied\u017a b\u0142\u0119dn\u0105. Ten nie daje \u017cadnej. Gdy powtarzana grupa zawiera co\u015b, co samo daje si\u0119 powtarza\u0107 &#8211; <code>(a+)+<\/code>, <code>(\\s*\\w+)*<\/code>, <code>(.*,)*<\/code> &#8211; istnieje wyk\u0142adniczo wiele sposob\u00f3w rozdzielenia wej\u015bcia mi\u0119dzy powt\u00f3rzenia, a maszyna pr\u00f3buje ich wszystkich, zanim stwierdzi, \u017ce trafienia nie ma.<\/p>\n<table style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr>\n<th style=\"vertical-align:top\">Wzorzec<\/th>\n<th>Wobec niepasuj\u0105cego wej\u015bcia d\u0142ugo\u015bci n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\"><code>(a+)+$<\/code><\/td>\n<td>wyk\u0142adniczo &#8211; trzydzie\u015bci znak\u00f3w to ju\u017c sekundy<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\"><code>(\\s*\\w+)*$<\/code><\/td>\n<td>ten sam kszta\u0142t, schowany za dwiema niewinnie wygl\u0105daj\u0105cymi klasami<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\"><code>^(\\w+\\s?)+$<\/code><\/td>\n<td>rozpowszechniony wzorzec do sprawdzania imion i awaria us\u0142ugi<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\"><code>a+$<\/code><\/td>\n<td>liniowo &#8211; zewn\u0119trzne powt\u00f3rzenie by\u0142o ca\u0142ym problemem<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Niebezpieczn\u0105 w\u0142asno\u015bci\u0105 jest to, \u017ce wzorce te s\u0105 szybkie przy ka\u017cdym wej\u015bciu, kt\u00f3re pasuje. Wybuch nast\u0119puje tylko przy wej\u015bciach niepasuj\u0105cych &#8211; wzorzec sprawdzaj\u0105cy zachowuje si\u0119 wi\u0119c latami nienagannie, potem trafia na jedno wadliwe zg\u0142oszenie i zajmuje proces roboczy, dop\u00f3ki kto\u015b go nie ubije.<\/p>\n<p>Regu\u0142a przeciw temu jest mechaniczna: \u017cadnego kwantyfikatora bezpo\u015brednio wok\u00f3\u0142 grupy, kt\u00f3rej zawarto\u015b\u0107 sama jest powtarzana. Gdzie tego nie da si\u0119 unikn\u0105\u0107, klasa zaprzeczona zwykle wyra\u017ca ten sam zamiar &#8211; <code>[^,]+,<\/code> zamiast <code>(.*,)<\/code> &#8211; i zabiera wieloznaczno\u015b\u0107, kt\u00f3r\u0105 nawroty przetrz\u0105sa\u0142y.<\/p>\n<h2>Co sprawdzi\u0107, zanim zaufa si\u0119 wzorcowi<\/h2>\n<p>Trzy wej\u015bcia odpowiadaj\u0105 na wi\u0119kszo\u015b\u0107. Przypadek, dla kt\u00f3rego wzorzec powsta\u0142, dla potwierdzenia, \u017ce trafia. Przypadek z dwoma wyst\u0105pieniami &#8211; tam ujawnia si\u0119 zach\u0142anno\u015b\u0107, a przy jednym przyk\u0142adzie nie ujawni si\u0119 nigdy. I przypadek, kt\u00f3ry trafi\u0107 nie mo\u017ce; tam zdradzaj\u0105 si\u0119 zar\u00f3wno kotwice, jak i zagnie\u017cd\u017cone powt\u00f3rzenie &#8211; jedne tym, \u017ce trafiaj\u0105 mimo wszystko, drugie tym, \u017ce nie ko\u0144cz\u0105 pracy.<\/p>\n<p>Trzeci jest tym pomijanym i tym, kt\u00f3ry \u0142apie oba problemy niewidoczne przy czytaniu wzorca. Zestaw sprawdze\u0144 dla wyra\u017cenia regularnego ma trzy wiersze i jest r\u00f3\u017cnic\u0105 mi\u0119dzy wyra\u017ceniem, kt\u00f3re dzia\u0142a, a takim, kt\u00f3remu nikt jeszcze nie zaprzeczy\u0142.<\/p>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Guide\/Regular_expressions\" target=\"_blank\" rel=\"noopener noreferrer\">MDN: Regular expressions<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zach\u0142anna kropka, brakuj\u0105ca kotwica i zagnie\u017cd\u017cone powt\u00f3rzenie to trzy sposoby, na jakie dzia\u0142aj\u0105ce wyra\u017cenie bywa b\u0142\u0119dne. Wszystkie trzy daj\u0105 wynik &#8211; i dlatego nie rzucaj\u0105 si\u0119 w oczy.<\/p>\n","protected":false},"author":1,"featured_media":15175,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[152],"tags":[92097,92229],"class_list":["post-10420","post","type-post","status-publish","format-standard","hentry","category-tworzenie-stron-internetowych","tag-data-quality-pl","tag-devops-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-16T16:10:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia\",\"datePublished\":\"2026-09-16T16:10:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/\"},\"wordCount\":788,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png\",\"keywords\":[\"Data Quality\",\"DevOps\"],\"articleSection\":[\"Tworzenie stron internetowych\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/\",\"name\":\"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png\",\"datePublished\":\"2026-09-16T16:10:00+00:00\",\"description\":\"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png\",\"width\":1200,\"height\":630,\"caption\":\"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/tworzenie-stron-internetowych\\\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog","description":"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/","og_locale":"en_US","og_type":"article","og_title":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog","og_description":"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-16T16:10:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia","datePublished":"2026-09-16T16:10:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/"},"wordCount":788,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png","keywords":["Data Quality","DevOps"],"articleSection":["Tworzenie stron internetowych"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/","name":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png","datePublished":"2026-09-16T16:10:00+00:00","description":"Dlaczego kropka biegnie za daleko, dlaczego klasa znak\u00f3w przekracza z\u0142amania wiersza i jak zagnie\u017cd\u017cone powt\u00f3rzenie zamienia wzorzec w program bez ko\u0144ca.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10420-co-wzorzec-naprawde-dopasowuje-n.png","width":1200,"height":630,"caption":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/tworzenie-stron-internetowych\/wyrazenia-regularne-zachlanna-kropka-brak-kotwic-i-zagniezdzone-powtorzenia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Wyra\u017cenia regularne: zach\u0142anna kropka, brak kotwic i zagnie\u017cd\u017cone powt\u00f3rzenia"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10420"}],"version-history":[{"count":3,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10420\/revisions"}],"predecessor-version":[{"id":17151,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10420\/revisions\/17151"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/15175"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}