[{"data":1,"prerenderedAt":148},["ShallowReactive",2],{"project-9785089":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":38,"post_text":29,"what":40,"said":57,"maker_in_thread":88,"shape":93,"grid":96,"attempts":111,"same_week":112,"maker_shows":34,"maker_hidden":141,"reader_version":142,"card":143},"9785089","Xeger","A semantic regex builder in JavaScript","title","Show HN: Xeger – A semantic regex builder in JavaScript","https:\u002F\u002Fgithub.com\u002FJonAbrams\u002Fxeger","github.com","jonny_eh",1435332054,2015,14,6,1620,2565,64,"shown","languages","regex library","library",[24,25,26,27],"regex","regex builder","javascript","regular expressions","quiet",null,{"positive":31,"neutral":32,"mixed":32,"critical":33},2,0,1,3,{"design":36,"idea":37},{"positive":33,"critical":32},{"positive":33,"critical":33},[39,32,33,32,32,39],5,{"problem":41,"audience":29,"pricing":29,"motivation":29,"time_to_build":29,"stack":49,"openness":56,"stage":56,"team_size":56},{"value":42,"source":43,"evidence":44},"Writing complex regular expressions is error-prone and hard to read","commenter",[45],{"id":46,"by":47,"text":48},"9786780","tvmalsv","Pretty cool, nice work. I've done traditional regex for so long that reading the regex version of the url example was faster for me than reading the Xeger code. But, I know regex…",[50],{"value":51,"source":52,"evidence":53},"JavaScript","maker",[54],{"id":55},"post","unknown",{"praise":58,"objections":63,"requests":71,"questions":79,"alternatives":80},[59],{"value":60,"source":43,"evidence":61},"Readable alternative to regex that is less error-prone",[62],{"id":46,"by":47,"text":48},[64],{"value":65,"source":43,"evidence":66},"Regex should be learned instead of using a builder",[67],{"id":68,"by":69,"text":70},"9785985","blainesch","Instead of 1 line, you can write 17! This tool is an anti-pattern. Just learn regex.",[72],{"value":73,"source":43,"evidence":74},"Use it to map a user interface to generate regular expressions",[75],{"id":76,"by":77,"text":78},"9793849","taf2","I think it might make it easier to map a user interface to the regular expression e.g. Let a user interfaces choose meaningful things to match and how to match in succession and…",[],[81],{"value":82,"source":43,"evidence":83},"CoffeeScript regex syntax",[84],{"id":85,"by":86,"text":87},"9786459","o_____________o","There are some other options: http:\u002F\u002Fcoffeescript.org\u002F#regexes",{"comments":33,"answered":32,"key":89},[90],{"id":91,"text":92},"9786977","Thanks! It's also easier to comment the xeger code.",{"commenters":15,"max_depth":34,"maker_replies":33,"first_comment_mins":94,"lifespan_hours":95},90,48,[97,99,101,103,107,109],[46,32,39,98,47,32],"project\u002Fpositive\u002Fdesign",[91,32,32,100,11,33],"maker\u002Fneutral\u002Fdocs",[68,33,33,102,69,32],"project\u002Fcritical\u002Fidea",[104,33,32,105,106,32],"9786360","commenter\u002Fneutral\u002Fnone","jhare",[85,33,32,108,86,32],"other\u002Fneutral\u002Fnone",[76,33,39,110,77,32],"project\u002Fpositive\u002Fidea",[],[113,118,123,128,132,137],{"id":114,"name":115,"points":116,"category":117},"9806319","Clearbit Logo API",525,"infrastructure",{"id":119,"name":120,"points":121,"category":122},"9810534","Arrow Hero",195,"games",{"id":124,"name":125,"points":126,"category":127},"9791686","CuttlePhish",155,"security_privacy",{"id":129,"name":130,"points":131,"category":117},"9789960","a-sf-mirror",146,{"id":133,"name":134,"points":135,"category":136},"9784441","Hyperlax.tv",145,"consumer_social",{"id":138,"name":139,"points":140,"category":20},"9779097","hermetic",134,false,"v2",{"id":144,"name":5,"line":6,"ai":141,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":145,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":146,"url":9,"mix":147,"praise":60,"objection":65,"sub":21},9785089,[24,25,26,27],"501005",[31,32,32,33],1793990926778]