[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-en-1-1-all-js2go-ep25-regular-expressions-all--*":3,"academy-blog-translations-ddfuwfm5ky01ier":79},{"data":4,"page":78,"perPage":78,"totalItems":78,"totalPages":78},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_path":11,"created":12,"created_by":13,"expand":14,"id":72,"keywords":73,"locale":49,"publish_at":74,"scheduled_at":13,"school_blog":70,"short_description":75,"slug":76,"status":68,"title":6,"updated":77,"updated_by":13,"views":71},"JS2GO EP.25 Using Regular Expressions in JavaScript and Go","sclblg987654321","school_blog_translations","\u003Cp>Regular Expressions (Regex) are essential tools for text processing, such as searching, replacing, pattern validation, or input verification. In this article, we compare using Regex in JavaScript and Go, with practical code examples and best practices, so you can handle text and patterns like a professional.\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>1. Regular Expressions in JavaScript\u003C\u002Fh2>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>JavaScript provides a built-in RegExp object and supports literal syntax.\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Creating Regular Expressions\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-javascript\">\u002F\u002F Literal syntax\nconst regex1 = \u002Fhello\u002Fi; \u002F\u002F i = case-insensitive\n\n\u002F\u002F Constructor\nconst regex2 = new RegExp('world', 'g'); \u002F\u002F g = global\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Testing Patterns\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-javascript\">const text = \"Hello World\";\n\nconsole.log(regex1.test(text)); \u002F\u002F true\nconsole.log(text.match(regex2)); \u002F\u002F [\"World\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Replacing Text\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-javascript\">const sentence = \"I love JavaScript\";\nconst newSentence = sentence.replace(\u002FJavaScript\u002F, \"Go\");\nconsole.log(newSentence); \u002F\u002F I love Go\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Finding All Matches\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-javascript\">const emails = \"contact@site.com, admin@site.com\";\nconst regex = \u002F\\w+@\\w+\\.\\w+\u002Fg;\nconst matches = emails.match(regex);\nconsole.log(matches); \u002F\u002F [\"contact@site.com\", \"admin@site.com\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Pros\u003C\u002Fh3>\u003Cp>✔️ Concise syntax and inline usage\u003Cbr>✔️ Supports flags like g, i, m, u, y\u003Cbr>✔️ Works seamlessly with string methods (match, replace, split, test)\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Cons\u003C\u002Fh3>\u003Cp>⚠️ No type-checking\u003Cbr>⚠️ Complex regex can be hard to read\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>2. Regular Expressions in Go\u003C\u002Fh2>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>Go provides the regexp package for handling regular expressions.\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Creating Regular Expressions\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext language-go\">import (\n    \"fmt\"\n    \"regexp\"\n)\n\nfunc main() {\n    regex := regexp.MustCompile(`\\w+@\\w+\\.\\w+`)\n    text := \"contact@site.com admin@site.com\"\n    matches := regex.FindAllString(text, -1)\n    fmt.Println(matches) \u002F\u002F [contact@site.com admin@site.com]\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Testing Patterns\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext language-go\">match, _ := regexp.MatchString(`hello`, \"Hello World\")\nfmt.Println(match) \u002F\u002F true or false\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Replacing Text\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext language-go\">re := regexp.MustCompile(`JavaScript`)\nsentence := \"I love JavaScript\"\nnewSentence := re.ReplaceAllString(sentence, \"Go\")\nfmt.Println(newSentence) \u002F\u002F I love Go\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Pros\u003C\u002Fh3>\u003Cp>✔️ Type-safe with compile-time error checking\u003Cbr>✔️ Full functionality: Match, Find, Replace, Split\u003Cbr>✔️ Fast and suitable for backend\u002Fserver applications\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Cons\u003C\u002Fh3>\u003Cp>⚠️ Verbose syntax for complex regex\u003Cbr>⚠️ Must import package and use MustCompile \u002F Compile\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>3. Best Practices\u003C\u002Fh2>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>✔️ Use regex literals or MustCompile clearly\u003C\u002Fp>\u003Cul>\u003Cli>JavaScript: \u003Ccode inline=\"\">\u002Fpattern\u002Fflags\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Go: \u003Ccode inline=\"\">regexp.MustCompile(\"pattern\")\u003C\u002Fcode>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>✔️ Validate input before use to reduce errors and performance issues\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>✔️ Use flags\u002Foptions appropriately\u003C\u002Fp>\u003Cul>\u003Cli>JavaScript: \u003Ccode inline=\"\">g, i, m\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Go: Compile regex with the correct pattern\u003C\u002Fli>\u003C\u002Ful>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>✔️ Test regex with examples or unit tests to ensure coverage\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Chr>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>Regex Comparison: JavaScript vs Go\u003C\u002Fh2>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cfigure class=\"table\">\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Feature\u003C\u002Fth>\u003Cth>JavaScript\u003C\u002Fth>\u003Cth>Go\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Object\u003C\u002Ftd>\u003Ctd>RegExp\u003C\u002Ftd>\u003Ctd>regexp.Regexp\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Create\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">\u002Fpattern\u002Fflags\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">regexp.MustCompile(\"pattern\")\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Match\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">test()\u003C\u002Fcode>, \u003Ccode inline=\"\">match()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">MatchString()\u003C\u002Fcode>, \u003Ccode inline=\"\">FindAllString()\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Replace\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">replace()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">ReplaceAllString()\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Split\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">split()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">Split()\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Flags \u002F Options\u003C\u002Ftd>\u003Ctd>\u003Ccode inline=\"\">g, i, m, u, y\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Built-in in pattern (no literal flags)\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Type Safety\u003C\u002Ftd>\u003Ctd>❌ No\u003C\u002Ftd>\u003Ctd>✔️ Yes\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Ffigure>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>Recommendations\u003C\u002Fh3>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>✔️ Frontend \u002F Web app → Use JavaScript Regex for validation or input\u003Cbr>✔️ Backend \u002F Server \u002F Data processing → Use Go Regex for performance and type-safety\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>Next Episode\u003C\u002Fh2>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>In EP.26 of JS2GO, we will explore using Environment Variables and Configurations in Go and Node.js to manage application settings securely and flexibly.\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp data-start=\"498\" data-end=\"834\">\u003Cstrong>Read more\u003C\u002Fstrong>\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp data-start=\"498\" data-end=\"834\">\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002Fblogs\u002Fcategories\u002FGolang\">\u003Cstrong>Golang The Series\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-start=\"498\" data-end=\"834\">\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002Fblogs\u002Fcategories\u002FJS2GO\">\u003Cstrong>JS2GO\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp data-start=\"498\" data-end=\"834\">\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002Fen\u002Fblogs\u002Fcategories\u002FTailwind%20CSS\">\u003Cstrong>10 Eps That Will Make You a Pro Tailwind CSS Overnight\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003Cstrong>🔵 Facebook: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\">\u003Cstrong>Superdev Academy\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>🔴 YouTube: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUC2eI2RxcA2zbTqZyHyWIfRg\">\u003Cstrong>Superdev Academy\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>📸 Instagram: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevschool\u002F\">\u003Cstrong>Superdev Academy\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>🎬 TikTok: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\">\u003Cstrong>https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>🌐 Website: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdevacademy.com\u002Fen\">\u003Cstrong>https:\u002F\u002Fwww.superdevacademy.com\u002Fen\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong>&nbsp;\u003C\u002Fstrong>\u003C\u002Fp>","50_11zon_dmwzm9mnp8.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fufpmkewb9eqvpox\u002F50_11zon_dmwzm9mnp8.webp","2026-03-04 08:46:10.986Z","",{"keywords":15,"locale":43,"school_blog":53},[16,23,28,33,38],{"collectionId":17,"collectionName":18,"created":19,"created_by":13,"id":20,"name":21,"updated":22,"updated_by":13},"sclkey987654321","school_keywords","2026-03-04 08:45:30.765Z","nayuhpre9emd5xw","JS2GO","2026-04-10 16:12:59.160Z",{"collectionId":17,"collectionName":18,"created":24,"created_by":13,"id":25,"name":26,"updated":27,"updated_by":13},"2026-03-04 08:46:10.447Z","5uf4iuaxo5eayg3","Regular Expressions","2026-04-10 16:13:09.601Z",{"collectionId":17,"collectionName":18,"created":29,"created_by":13,"id":30,"name":31,"updated":32,"updated_by":13},"2026-03-04 08:46:10.733Z","e7ggfuwen1gbecj","Regex","2026-04-10 16:13:09.768Z",{"collectionId":17,"collectionName":18,"created":34,"created_by":13,"id":35,"name":36,"updated":37,"updated_by":13},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":17,"collectionName":18,"created":39,"created_by":13,"id":40,"name":41,"updated":42,"updated_by":13},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"code":44,"collectionId":45,"collectionName":46,"created":47,"flag":48,"id":49,"is_default":50,"label":51,"updated":52},"en","pbc_1989393366","locales","2026-01-22 11:00:02.726Z","twemoji:flag-united-states","qv9c1llfov2d88z",false,"English","2026-04-10 15:42:46.825Z",{"category":54,"collectionId":55,"collectionName":56,"expand":57,"id":70,"views":71},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs",{"category":58},{"blogIds":59,"collectionId":60,"collectionName":61,"created":62,"created_by":13,"id":54,"image":63,"image_alt":13,"image_path":64,"label":65,"name":21,"priority":66,"publish_at":67,"scheduled_at":13,"status":68,"updated":69,"updated_by":13},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":21,"th":21},10,"2025-08-11 03:41:08.820Z","published","2026-04-10 16:08:23.388Z","ddfuwfm5ky01ier",204,"ufpmkewb9eqvpox",[20,25,30,35,40],"2025-10-02 09:15:22.888Z","Learn how to use Regular Expressions (Regex) in JavaScript and Go with code examples and best practices to efficiently manage text, validate patterns, and perform replacements professionally.","js2go-ep25-regular-expressions","2026-04-12 18:17:06.140Z",1,{"en":76}]