正则表达式代码生成器
免费在线使用 正则表达式代码生成器 无需安装即可使用工具
關於正則代碼產生器
將正則表達式轉換為可直接貼上的匹配代碼,支援 JavaScript、Python、Java、Go 或 PHP。它會使用所選旗標驗證模式,並可選擇對測試字串執行,預覽匹配結果及其索引和命名分組,然後使用每種語言的原生正則 API 產生符合習慣的程式碼片段。
使用方法
1. 輸入正則表達式 Pattern(不含分隔符)。 2. 設定 Flags - 僅接受 g、i、m、s、u、y,其他字元會被自動移除。 3. 選擇目標 Language。 4. 可選擇貼上 Test String 以預覽匹配結果。 5. 點擊 Generate 查看即時匹配結果和產生的代碼;使用 Copy 複製代碼。
各語言輸出
JavaScript:使用 /pattern/flags 字面值,當設定 g 旗標時使用 matchAll,否則使用 str.match 並附帶命名分組。Python:使用 re.findall/re.finditer,旗標對應為 re.IGNORECASE、re.MULTILINE、re.DOTALL、re.VERBOSE、re.ASCII。Java:使用 Pattern.compile + Matcher.find 迴圈。Go:使用 regexp.MustCompile 配合 FindAllString 和 FindAllStringSubmatchIndex。PHP:使用 preg_match_all 配合 PREG_SET_ORDER,以 /pattern/flags 作為分隔符。
▶為什麼出現錯誤訊息?
在產生代碼之前,模式會透過 new RegExp(pattern, flags) 進行編譯。如果正則表達式無效(例如括號不對稱),解析器錯誤會以紅色顯示,並且不會產生任何代碼。
▶沒有測試字串會怎樣?
代碼仍會針對預留位置字串產生,但不會顯示 Match Results 面板。只有在提供測試字串時才會顯示即時預覽。
▶Python 正則旗標會被轉換嗎?
是的。每個 JS 旗標都會對應到對應的 re 模組常數:i -> re.IGNORECASE、m -> re.MULTILINE、s -> re.DOTALL、x -> re.VERBOSE、a -> re.ASCII。不支援的旗標會被靜默捨棄。
▶會保留命名擷取群組嗎?
在 JavaScript 非全域模式下,產生器會輸出 match.groups,因此命名群組可見。其他語言透過其原生 API 暴露命名群組(Matcher/FindAllStringSubmatchIndex/preg_match_all matches)。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。