首页 > 教程攻略 > ai资讯 >Fitten_Code生成正则表达式:利用自然语言描述快速获取匹配规则

Fitten_Code生成正则表达式:利用自然语言描述快速获取匹配规则

来源:互联网 时间:2026-06-28 08:21:42

正则表达式这东西,写起来真是让人又爱又恨。爱的是它的强大,一段短短的模式就能搞定复杂的文本匹配;恨的是手写的繁琐和易错,尤其是要匹配手机号、身份证号这种规则多又密的玩意儿,反复调试到崩溃是常事。Fitten Code 这个VS Code插件,正好解决了这个痛点——它能把自然语言描述实时转成可运行的正则表达式,让程序员把精力放在业务逻辑上,而不是跟反斜杠和字符集死磕。

举个例子:你只要在编辑器里写一句“匹配中国大陆18位身份证号码,最后一位可能是X”,选中这行文字,右键选择“Fitten Code: Generate Regex from Selection”,下一秒就能得到一个符合GB 11643-1999标准的正则表达式,直接复制到JS或Python代码里就能用。如果生成的表达式不够精确,还可以通过Edit Regex Prompt修改描述,重新生成——整个过程不需要动脑手写,真的省心。

面对一段中文文本,需要快速提取手机号、身份证号或邮箱地址?Fitten Code 允许你直接用“匹配11位数字且以1开头的手机号”这种大白话描述,插件就会自动将其编译成可运行的正则表达式。从描述到正则,一步到位。

安装并启动Fitten Code插件

打开VS Code,左侧活动栏点击扩展图标(或按 Ctrl+Shift+X),在搜索框输入

【Fitten Code】

,选择第一个由官方发布的插件,点击“安装”。安装完成后重启VS Code,确认右下角状态栏出现“Fitten”小图标,表示插件已激活,可以开始使用了。

用自然语言生成正则表达式

新建一个空白文件(Ctrl+N),保存为 .txt 或 .js 后缀均可。在编辑器中输入你想要的自然语言描述,比如“匹配中国大陸18位身份证号码,最后一位可能是X”,选中这句话,右键选择“Fitten Code: Generate Regex from Selection”。插件会在光标下方插入一行正则:/^[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]$/。这个表达式严格遵循GB 11643-1999标准,能识别年份范围、月份天数合法性,

【不校验校验码算法,仅做格式初筛】

如果描述太模糊,比如只写“找邮箱”,插件会生成较宽泛的 /S+@S+.S+/;想要更精准,就加上限定词,比如“匹配带.edu.cn域名的教育邮箱”,生成结果自动收紧为 /[w.-]+@[w.-]+.(edu.cn)/。描述越精确,结果越符合预期。

在代码中直接使用生成的正则

方法一:Ja vaScript中赋值调用。把生成的正则复制进代码:const idRegex = /^[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]$/;,后续用 idRegex.test(str) 即可验证。

方法二:Python中嵌入使用。去掉正则首尾的斜杠,并处理转义:r'^[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]$',直接传给 re.match()re.search() 即可。

注意:Fitten Code默认输出JS风格正则,如果用在Ja va或Go中,需要手动将 d 改为 \d(因为字符串字面量需要双转义)。这个小细节记得留意一下。

修正生成结果的常见操作路径

如果生成的正则不满足需求,想调整描述重新生成,可以按以下步骤操作。首先,选中已生成的正则表达式整行,按 Ctrl+X 剪切。然后,在编辑器顶部菜单栏点击“查看”→“命令面板”(或直接按 Ctrl+Shift+P),输入“Fitten Code: Edit Regex Prompt”,回车。在弹出的输入框中修改原始描述,例如把“11位手机号”改成“11位大陆手机号,排除170/171/172虚拟号段”,回车后新正则自动替换原内容。

这一步不能跳过提示框直接编辑文字——

【必须通过Edit Regex Prompt触发重生成,否则修改后的正则不会被语法校验】

。这个设计是为了保证生成的表达式经过插件的语法检查,避免手改导致非法正则。