热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >DeepSeek生成正则表达式时,提示词里要写哪些背景信息

DeepSeek生成正则表达式时,提示词里要写哪些背景信息

来源:互联网 更新时间:2026-05-30 18:24

想让DeepSeek生成的正则表达式真正能用?提示词里得把那些能约束匹配边界的背景信息给装进来,否则它只会输出那些泛化过度、锚点缺失、Unicode失效的正则字符串——看起来像模像样,实际上跑不动。

这里必须说清楚四类背景信息。

必须提供的四类背景信息

第一类,运行环境和语法标准。比如,你得写明“使用Python re 模块”或“兼容ECMAScript 2024”。DeepSeek默认是按Python解析的,但它不会主动声明。如果你目标是Ja vaScript环境却没提,它可能就混用了QE这类非通用语法,运行起来直接报错。

第二类,输入文本的真实结构特征。不是只扔一句“匹配错误日志”就完事。得说清楚“每行一条日志,格式为[时间] 错误码:消息,中间有空格分隔”。没有这个上下文,DeepSeek很容易忽略行首行尾、字段分隔符、固定前缀这些关键的边界信号。

第三类,字符集真实范围。要匹配中文姓名,就得写明“姓名由2–4个汉字组成”,光写“匹配人名”远远不够。

【w在Python中默认不匹配汉字】

——漏写了,整个中文段落直接就被跳过了。同理,邮箱用户名里如果允许下划线或短横线,也要明确列出,别依赖“字母数字”这种模糊说法。

第四类,常见干扰模式及其位置。比如“日志末尾常带残缺URL如https://www.php.c,需排除”,或者“配置行可能以#开头,整行应被跳过”。DeepSeek可不会自动识别这些干扰。你得把它们作为负向断言的触发条件,写进背景信息里。

两种典型场景的背景写法对比

先说方法一:日志行整体校验(强结构化文本)。背景信息要包含:“输入是单行纯文本,无前后空格;字段间用单个空格分隔;时间戳固定为[YYYY-MM-DD HH:MM:SS]格式;错误码为全大写英文+数字组合,长度3–8位;消息部分可含任意可见ASCII字符,但不含换行”。

再看方法二:HTML片段中提取属性值(弱结构化文本)。背景信息要包含:“源文本是未清洗的HTML片段,可能含注释、JS内联代码、多余空格及换行;目标是从中提取src属性值;值被双引号包裹,但存在少数用单引号或无引号的情况;需跳过srcset等相似属性”。

最容易被忽略的背景细节

更要注意的是,必须写明是否允许前后空白。如果输入来自readlines(),每行自带n,而你没提,DeepSeek生成的正则很可能因为缺少^s*s*$,导致re.match()失败。

还要说明大小写敏感性。不要写“不区分大小写”,而要写“

【请添加(?i)前缀】

”。否则AI可能在解释里说“忽略大小写”,却不在正则中实际加入修饰符。

如果用于re.sub()替换场景,需要额外声明“保留原始空格结构,仅替换匹配到的数字部分”。不然它可能生成带s+的贪婪模式,把周围空格一并吞掉。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc