You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式仅匹配含Linux字符串行的引号内全部内容

正确正则表达式及说明

问题分析

你之前编写的正则存在几个核心错误:

  • 将.*放在字符组[]中,字符组内的.和*会被识别为普通字符,无法实现「匹配任意长度任意字符」的效果
  • 使用<Linux>的写法匹配完整单词不符合主流正则引擎的语法规范,常规单词边界标识为\b
  • 额外引入了单引号'的匹配逻辑,和需求里仅匹配双引号包裹内容的场景不符

可用正则方案

基础版本(直接满足需求)

"[^"]*Linux[^"]*"

语法解释:

  • 开头的"匹配内容起始的双引号
  • [^"]*匹配除双引号外的任意字符、任意长度,避免出现跨双引号匹配的问题
  • Linux匹配指定关键词
  • 后续[^"]*匹配关键词后到结尾双引号前的所有内容
  • 结尾的"匹配内容结束的双引号

如果需要严格匹配Linux完整单词(避免匹配到LinuxTest这类包含Linux的复合词),可以加上单词边界标识:

"[^"]*\bLinux\b[^"]*"

仅提取双引号内内容(不含外层双引号)

如果需要直接拿到双引号包裹的内部内容,可以增加捕获组:

"([^"]*\bLinux\b[^"]*)"

匹配后取第1个捕获组的结果即可。

匹配测试

用上述正则匹配你给出的两行示例文本,只会命中第一行的" dswda__12 ( Linux, 22 ) sasa ",完全符合需求。


内容的提问来源于stack exchange,提问作者Ian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 15:39:03