[{"data":1,"prerenderedAt":558},["ShallowReactive",2],{"project-23042079":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":46,"post_text":48,"what":49,"said":84,"maker_in_thread":203,"shape":215,"grid":220,"attempts":519,"same_week":520,"maker_shows":18,"maker_hidden":550,"reader_version":551,"card":552},"23042079","RegEx for Regular Folk","A visual, example-based introduction","title","Show HN: RegEx for Regular Folk – A visual, example-based introduction","https:\u002F\u002Frefrf.shreyasminocha.me","refrf.shreyasminocha.me","shreyasminocha",1588341956,2020,502,108,51,3028,2,"legend","learning_science","interactive tutorial","web_app",[24,25,26,27],"regex tutorial","regular expressions","regex examples","learn regex","mixed",0.244,{"positive":31,"neutral":32,"mixed":33,"critical":32},20,10,9,49,{"idea":36,"pricing":38,"docs":40,"design":43,"execution":45},{"positive":18,"critical":37},0,{"positive":37,"critical":39},1,{"positive":41,"critical":42},13,5,{"positive":44,"critical":37},4,{"positive":37,"critical":18},[47,39,47,47,37,37,37,39,42,37,37,47,37,47,47,47,37,47,37,42,39,42,42,37,47,47,47,39,42,42,42,42,47,42,39,42,47,42,42,47],3,null,{"problem":50,"audience":62,"pricing":48,"motivation":48,"time_to_build":48,"stack":73,"openness":81,"stage":82,"team_size":83},{"value":51,"source":52,"evidence":53},"Learning regular expressions is hard without a clear mental model and examples.","commenter",[54,58],{"id":55,"by":56,"text":57},"23045264","wonnage","I personally had the most trouble with regexes because I didn't have a good mental model of how they worked. The hard part wasn't finding the correct symbol\u002Fcharacter class I was…",{"id":59,"by":60,"text":61},"23043053","backzerman","Constructive criticism: I was about to send this to a friend who is new to programming, but the introduction is just too short. It would be great if the introduction included one…",{"value":63,"source":52,"evidence":64},"Beginners learning regular expressions, including non-programmers.",[65,69],{"id":66,"by":67,"text":68},"23043645","Zhyl","Lots of praise here, so I won't re-iterate the good points (presentation, pleasant tone, good structuring) and will head straight to the meat of my issue with the title: This is…",{"id":70,"by":71,"text":72},"23043435","120bits","I started teaching Python to my GF(she is working from home and now has plenty of time to do some extra learning). She is not a programmer and I have been giving her small…",[74],{"value":75,"source":52,"evidence":76},"JavaScript",[77],{"id":78,"by":79,"text":80},"23045504","saberworks","This looks really nice but I think it suffers from the same issue a lot of regex tutorials suffer from. It's focusing solely on the regex and not at all on how to actually…","open_source","launched","unknown",{"praise":85,"objections":109,"requests":145,"questions":168,"alternatives":176},[86,101],{"value":87,"source":52,"evidence":88},"Example-based approach is clear and well chosen",[89,93,97],{"id":90,"by":91,"text":92},"23042998","LeonB","I like the example based approach. I learn from examples far quicker than I learn from “explanations”. If I attempt to learn from an example and my brain hits an exception, only…",{"id":94,"by":95,"text":96},"23044855","twicetwice","This looks like a great resource! Like others, I vastly prefer an example-based style, and the examples are really well chosen and very illustrative. I generally think I know my…",{"id":98,"by":99,"text":100},"23042458","phillipseamore","Very clear and concise with simple presentation. Good job!",{"value":102,"source":52,"evidence":103},"Good for teaching beginners",[104,105],{"id":70,"by":71,"text":72},{"id":106,"by":107,"text":108},"23045727","filmgirlcw","I love this! I love RegEx but have struggled trying to “teach” others over the years. In addition to books like this, I often find writing RegEx with something like…",[110,125,130],{"value":111,"source":52,"evidence":112},"Uses regex syntax before explaining it",[113,117,121],{"id":114,"by":115,"text":116},"23047650","ggm","Your examples use * and $ and + before they are explained. Inductive learning goes smoother if new concepts have context. You explain [^ ...] So the use of these examples without…",{"id":118,"by":119,"text":120},"23042498","asicsp","Neatly presented. However, I'd suggest to reorganize the chapters so that features not yet introduced aren't shown in examples without explanations. For example, you explain…",{"id":122,"by":123,"text":124},"23044790","nobrains","Hi, very nice RegEx educational site\u002Fbook. Feedback: - In the chapter https:\u002F\u002Frefrf.shreyasminocha.me\u002Fchapters\u002Fcharacter-classes an example is given which uses: ``` o ^ character…",{"value":126,"source":52,"evidence":127},"Introduction too short and jargon-heavy for non-programmers",[128,129],{"id":66,"by":67,"text":68},{"id":59,"by":60,"text":61},{"value":131,"source":52,"evidence":132},"Next navigation links broken",[133,137,141],{"id":134,"by":135,"text":136},"23047730","appleflaxen","Hey this is great! I noticed that in the \"Escapes\" chapter, the \"Next\" link at the bottom of the page goes back to the introduction when it should go to \"Groups\". I poked around…",{"id":138,"by":139,"text":140},"23048603","jamesrcole","Feedback: the “next” link on this page just takes you back to that same page https:\u002F\u002Frefrf.shreyasminocha.me\u002Fchapters\u002Fintroduction",{"id":142,"by":143,"text":144},"23047486","asutekku","It seems the “next” button is not working on mobile safari on ios 13. It just reloads the page you’re in. Tried with and without content blockers. However from what i quickly…",[146,150,157],{"value":147,"source":52,"evidence":148},"Show how to execute regex in code",[149],{"id":78,"by":79,"text":80},{"value":151,"source":52,"evidence":152},"Printable single-page version",[153],{"id":154,"by":155,"text":156},"23046279","olq","Nice guide! As a complete regex-dyslectic i didn't know the slash '\u002F' could be used to make expressions more readable. On another note, since this is supposed to be a book and…",{"value":158,"source":52,"evidence":159},"Explain the \u002Fg flag earlier",[160,164],{"id":161,"by":162,"text":163},"23044370","evo_9","Just some 2cent feedback - don't assume anything is known. The BASIC lesson doesn't mention anything about \u002Fg. Having not touched regex in years I had no idea what that was and…",{"id":165,"by":166,"text":167},"23043426","donaldihunter","This is nicely done. It could benefit from some non \u002Fg examples on the basics page, especially since flags are not covered until chapter 8. One visual enhancement that could be…",[169],{"value":170,"source":52,"evidence":171},"Is there a tool showing where a regex fails partway through matching?",[172],{"id":173,"by":174,"text":175},"23046149","binstub","Nice intro. Tangential question. Is there a regex tool that shows where the expression failed ? Not in syntax, but the logical failure point? Would be useful for when an…",[177,188,199],{"value":178,"source":52,"evidence":179},"regex101.com",[180,184],{"id":181,"by":182,"text":183},"23047586","spdustin","Does this help? https:\u002F\u002Fregex101.com",{"id":185,"by":186,"text":187},"23047756","sakekasi","https:\u002F\u002Fregex101.com\u002F This site is my goto whenever I need to write a complex regex. It's got syntax highlighting, explanations and a tested all rolled into one!",{"value":189,"source":52,"evidence":190},"RegExr",[191,195],{"id":192,"by":193,"text":194},"23043949","canada_dry","Decent guide. It's great that all the examples are linked to https:\u002F\u002Fregex101.com\u002F so people can play\u002Fexplore! More regex resources I rely on: http:\u002F\u002Fwww.regexr.com\u002F…",{"id":196,"by":197,"text":198},"23044641","shanecoin","RegExr [0] does a great job of showing individual highlights even when they are in a sequential string. You can try to implement this if you want instead of showing a callout…",{"value":200,"source":52,"evidence":201},"Expressions app",[202],{"id":106,"by":107,"text":108},{"comments":204,"answered":44,"key":205},17,[206,209,212],{"id":207,"text":208},"23044877","Thanks. Yeah, others pointed this out too. I'll get to it soon!",{"id":210,"text":211},"23043670","Yep, thanks for pointing that out. I was finding it tricky to present features in isolation without making the examples trivial. I'll work on making things clearer.",{"id":213,"text":214},"23044930","> The highlighting of matches is slightly shifted to the left … Can I suggest adding Firefox to your test regimen, if you haven't already? :) Oh, I thought I had fixed that. I…",{"commenters":216,"max_depth":217,"maker_replies":204,"first_comment_mins":218,"lifespan_hours":219},74,6,37,94,[221,225,229,233,235,239,242,246,248,251,254,257,260,263,265,267,269,272,274,276,278,280,284,286,290,293,296,297,300,303,307,308,311,314,317,320,323,324,325,328,331,334,336,338,341,344,346,348,350,352,356,360,362,364,366,368,370,372,374,376,379,380,382,385,388,390,393,397,399,401,405,408,411,414,416,420,422,427,430,432,434,438,442,446,450,454,458,460,463,466,468,470,472,474,476,480,483,487,489,491,495,497,501,505,507,509,513,517],[222,37,37,223,224,37],"23047058","other\u002Fneutral\u002Fnone","m463",[226,37,47,227,228,37],"23047414","project\u002Fneutral\u002Fidea","Gehinnn",[230,37,39,231,232,37],"23047419","project\u002Fcritical\u002Fpricing","squeaky-clean",[181,37,47,234,182,37],"project\u002Fneutral\u002Fnone",[236,37,39,237,238,37],"23050824","project\u002Fcritical\u002Fnone","dastx",[240,37,47,241,224,37],"23056100","project\u002Fmixed\u002Fnone",[243,37,37,244,245,37],"23047669","commenter\u002Fneutral\u002Fnone","7786655",[247,37,37,244,224,37],"23056089",[249,37,47,234,250,37],"23048705","mycall",[252,37,37,223,253,37],"23048941","dntbnmpls",[255,37,37,244,256,37],"23049129","hanniabu",[258,37,37,244,259,37],"23051389","csunbird",[261,37,37,244,262,37],"23051451","b3kart",[264,37,37,244,224,37],"23056528",[266,37,37,244,262,37],"23078969",[268,37,37,244,224,37],"23056111",[270,37,37,244,271,37],"23052294","logicallee",[273,37,37,244,224,37],"23056120",[275,37,37,244,271,37],"23058021",[122,39,39,277,123,37],"project\u002Fcritical\u002Fdocs",[207,39,37,279,11,39],"maker\u002Fneutral\u002Fdocs",[281,39,47,282,283,37],"23051119","project\u002Fmixed\u002Fdocs","bathory",[90,18,42,285,91,37],"project\u002Fpositive\u002Fidea",[287,18,37,288,289,37],"23043902","other\u002Fneutral\u002Fdocs","ehsankia",[291,18,37,288,292,37],"23046588","kmundnic",[294,18,37,288,295,37],"23043992","seph-reed",[55,47,37,223,56,37],[298,47,37,223,299,37],"23045398","the-pigeon",[301,47,37,223,302,37],"23045903","btilly",[304,44,47,305,306,37],"23043298","project\u002Fneutral\u002Fdocs","pmarreck",[78,42,47,282,79,37],[309,42,37,223,310,37],"23045676","jehlakj",[312,42,37,244,313,37],"23046645","yoz-y",[315,42,37,223,316,37],"23046784","wasureru",[318,42,37,244,319,37],"23046915","ben509",[321,42,47,305,322,37],"23047019","thedirt0115",[118,217,47,282,119,37],[210,217,37,279,11,39],[326,217,47,305,327,37],"23043869","nicoburns",[329,217,47,282,330,37],"23044427","davinic",[94,332,42,333,95,37],7,"project\u002Fpositive\u002Fdocs",[213,332,37,335,11,39],"maker\u002Fneutral\u002Fdesign",[114,337,39,277,115,37],8,[339,33,37,288,340,37],"23048551","vasili111",[342,33,37,288,343,37],"23048629","kccqzy",[345,33,37,288,340,37],"23048745",[196,32,47,347,197,37],"project\u002Fneutral\u002Fdesign",[59,349,47,305,60,37],11,[351,349,37,279,11,39],"23043566",[353,354,37,223,355,37],"23042496",12,"tragomaskhalos",[357,354,37,358,359,37],"23042904","other\u002Fpositive\u002Fnone","airstrike",[361,354,37,223,166,37],"23043295",[363,354,37,279,11,39],"23043582",[185,41,42,365,186,37],"project\u002Fpositive\u002Fnone",[161,367,39,277,162,37],14,[369,367,37,279,11,39],"23044830",[192,371,42,333,193,37],15,[373,371,37,279,11,39],"23043964",[375,371,37,244,193,37],"23044085",[165,377,47,378,166,37],16,"project\u002Fmixed\u002Fdesign",[106,204,42,333,107,37],[173,381,37,223,174,37],18,[383,381,37,223,384,37],"23046188","nickysielicki",[386,381,37,223,387,37],"23051034","bmn__",[389,381,37,244,174,37],"23056196",[391,392,47,305,319,37],"23046770",19,[394,31,37,395,396,37],"23046468","other\u002Fneutral\u002Fidea","parhamn",[398,31,37,244,313,37],"23046614",[70,400,42,333,71,37],21,[402,403,39,237,404,37],"23043673",22,"trevor-e",[406,403,37,407,11,39],"23044040","maker\u002Fneutral\u002Fnone",[134,409,47,410,135,37],23,"project\u002Fmixed\u002Fexecution",[412,409,37,413,11,39],"23050634","maker\u002Fneutral\u002Fexecution",[142,415,47,410,143,37],24,[417,415,39,418,419,37],"23048574","project\u002Fcritical\u002Fexecution","bjz_",[421,415,37,413,11,39],"23050641",[423,424,42,425,426,37],"23042445",25,"project\u002Fpositive\u002Fdesign","vongomben",[428,429,37,223,250,37],"23042710",26,[431,429,37,223,119,37],"23042870",[98,433,42,333,99,37],27,[435,436,42,285,437,37],"23046797",28,"Pxtl",[439,440,42,333,441,37],"23044108",29,"scottfits",[443,444,42,333,445,37],"23045795",30,"bane",[447,448,42,333,449,37],"23044467",31,"digitalmaster",[451,452,37,288,453,37],"23045273",32,"arthurofbabylon",[455,456,42,425,457,37],"23045518",33,"cjhveal",[154,459,42,333,155,37],34,[461,459,39,277,462,37],"23046411","catblast",[464,459,37,465,155,37],"23046436","commenter\u002Fneutral\u002Fdocs",[467,459,37,407,11,39],"23046597",[469,459,42,333,155,37],"23047335",[471,459,37,279,11,39],"23050651",[138,473,39,418,139,37],35,[475,473,37,413,11,39],"23050646",[477,478,37,223,479,37],"23044060",36,"tuan",[481,218,42,333,482,37],"23045274","cryptoslug",[484,485,42,333,486,37],"23044188",38,"busterarm",[66,488,47,282,67,37],39,[490,488,37,279,11,39],"23043710",[492,493,47,305,494,37],"23043655",40,"romes",[496,493,37,279,11,39],"23043871",[498,499,42,425,500,37],"23046284",41,"bogomipz",[502,503,42,425,504,37],"23042615",42,"iluvblender",[506,503,37,223,504,37],"23043928",[508,503,37,407,11,39],"23043988",[510,511,42,333,512,37],"23046879",43,"johnnythunder",[514,515,39,277,516,37],"23046516",44,"SPBesui",[518,515,37,279,11,39],"23046576",[],[521,526,531,535,540,545],{"id":522,"name":523,"points":524,"category":525},"23045207","uPlot",785,"data",{"id":527,"name":528,"points":529,"category":530},"23070567","Caddy 2",778,"infrastructure",{"id":532,"name":533,"points":534,"category":20},"23066776","SQL Police Department",550,{"id":536,"name":537,"points":538,"category":539},"23033387","Tara",406,"productivity",{"id":541,"name":542,"points":543,"category":544},"23042558","Ameelio.org",364,"web_saas",{"id":546,"name":547,"points":548,"category":549},"23070821","rich",362,"dev_tools",false,"v2",{"id":553,"name":5,"line":6,"ai":550,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":554,"top":18,"kw":555,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":556,"url":9,"mix":557,"praise":87,"objection":111,"sub":21},23042079,0.24,[24,25,26,27],"3133000150030333030515503331555535153553",[31,32,33,32],1794036589911]