正则表达式选择引号之外的字符

2023-11-24

我想找到一个正则表达式来挑选出引号集之外的所有逗号。

例如:

'foo' => 'bar',
'foofoo' => 'bar,bar'

这将在第 1 行之后挑选出单个逗号'bar',

我真的不关心单引号和双引号。

有人有什么想法吗?我觉得预读应该可以做到这一点,但我的正则表达式太弱了。


这将匹配任何字符串,直到并包括第一个不带引号的“,”。这就是你想要的吗?

/^([^"]|"[^"]*")*?(,)/

如果你想要所有这些(并且作为那个说不可能的人的反例)你可以写:

/(,)(?=(?:[^"]|"[^"]*")*$)/

这将匹配所有这些。因此

'test, a "comma,", bob, ",sam,",here'.gsub(/(,)(?=(?:[^"]|"[^"]*")*$)/,';')

替换所有逗号not在引号内加分号,并生成:

'test; a "comma,"; bob; ",sam,";here'

如果您需要它跨行工作,只需添加 m(多行)标志。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式选择引号之外的字符 的相关文章

随机推荐

  • 用jquery查找并替换文本,只有文本没有子元素

    我想用 jquery 查找并替换文本 我想将 SKU 更改为 art nu span class sku wrapper SKU span class sku 5 144 span span I tried product meta gt
  • AWS SNS 创建超时

    我有 Lambda 函数 在调用时它会创建 SNS 主题 向其添加订阅者 然后向其发布消息 发布消息后 它会删除该主题 要创建的主题的名称和订阅者作为负载提供给 lambda 函数 有时有效 有时失败Task timed out after
  • 我可以阻止 iOS 用户更改日期和时间吗?

    我想为公司员工部署托管 iOS 设备 他们将使用的应用程序将为数据添加时间戳 这些数据将在本地记录 然后转发 我需要这些时间戳是正确的 因此我必须防止用户调整设备上的时间 记录值 然后重置日期和时间 日期和时间将配置为自动来自网络 但设备可
  • Android 推送通知未使用 webview 打开我的活动

    我按照本教程创建了一个推送通知应用程序 http www vogella com articles AndroidCloudToDeviceMessaging article html 它有效 当我收到通知时 我可以打开一个网站 但是 我可
  • 实时聊天并带有推送通知

    我正在为我的网站开发私人消息传递功能 有没有办法从服务器获取用户已收到新消息的推送通知 我知道的唯一技术是通过 ajax 不断轮询服务器以查看是否有新消息 并在需要时重新加载消息窗口 感谢您的任何反馈 UPD 到目前为止 已经确定了以下方向
  • 使用 @EmbeddedId 在复合键上通过 @GenerateValue 生成 NULL ID

    尝试通过 Spring Data JPA 在具有组合键 长整型和日期 的表中保存一行 组合键的 Long 部分是 GenerateValue 但在进行基本操作时出现以下错误save call org hibernate id Identif
  • Ruby on Rails:/bin/sh:rspec:找不到命令

    我目前正在学习 Michael Hartl 的 RoR 教程 并且在尝试运行 Spork 和 Guard 时陷入了第 3 章 当尝试运行测试时 我得到 bin sh rspec command not found 是的 我确实四处寻找答案
  • 今天 8:21 推送后,dialog/oauth API 出现错误 500

    我们的应用程序在此调用中收到错误 500 有谁知道有什么问题吗 有一个解决方法 只需将 www facebook com 替换为 m facebook com Facebook 似乎已经放弃了对旧 API KEY 的支持 如果您查看应用程序
  • 显示名称属性与显示属性

    有什么区别DisplayName属性和DisplayASP NET MVC 中的属性 DisplayName设置DisplayName在模型元数据中 例如 DisplayName foo public string MyProperty g
  • Jquery 中的鼠标事件

    基本上 我有这个带有左右箭头按钮的图像 该图像默认是我从某些 gif 中提取的第一帧 原始 gif 包含 31 帧 我的目标是当用户单击向右箭头按钮时 我想显示下一帧等等 一切都运行良好 如下面的代码所示 但是 我需要添加一些鼠标按住事件
  • 保存网页以供离线使用并调用相同的 android

    我有一个 Android 应用程序要求 我需要打开保存的网页 如何做同样的事情 首先 我们如何保存一个网页及其对Android的依赖 然后在您的应用程序中打开它 任何输入都会有很大帮助 首先我们先保存一下网络档案 from webview
  • 仅返回 Task 而不是 Task 的方法会返回什么?

    我从什么返回D4 async static Task D4 Console Write Enter the divisor var n int Parse Console ReadLine Console WriteLine 24 n To
  • 使用flask-bcrypt生成和验证密码哈希

    所以我最近学习了如何在数据库中存储密码 即通过向明文密码添加盐 对其进行散列 然后存储散列 我正在开发一个非常小的 Flask 应用程序来尝试所有这些 但我在密码散列和检查过程的部分方面遇到了问题 似乎我最终得到了相同输入的两个不同的哈希值
  • Postgresql 中 SQL Server 的“stuff”和“for xml path('')”

    我正在将一些 SQL Server 2008R2 查询迁移到 Postgresql 9 0 但遇到了一些问题 这是 SQL Server 查询 stuff select p NAME as data from BPROVIDERS PROV
  • Android 网络库的比较:OkHTTP、Retrofit 和 Volley [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 一位正在学习 Android 的 iOS 开发人员提出的问题分为两部分 在iOS上我用过AF网络项目广泛 Android 有等效的库吗 我读过OkH
  • Firestore如何存储对文档的引用/如何检索它?

    我是 Firestore Firebase 的新手 我正在尝试创建一个新文档 其中一个字段是document reference到其他文档 我已阅读 Firebase 的所有指南和示例 但没有找到任何内容 另外 当我检索我创建的文档时 我将
  • 使用 webpack 2 和 vue-cli 加载本地字体

    我正在使用 vue cli webpack 模板 并尝试在我的项目中加载本地字体 我无法正确获取字体路径 我的道路应该是什么样子 我发现了一些关于我可能做错了什么的信息 但我无法弄清楚 https github com webpack co
  • 从 RGB 值数组中(就地)切片平面的算法

    我有一个字节 RGB 值的平面数组R1 G1 B1 R2 G2 B2 R3 G3 B3 Rn Gn Bn 所以我的数据看起来像 char imageData WIDTH HEIGHT 3 但我想将 WIDTH HEIGHT 数组传递给需要该
  • 带有类加载器的 Java 示例

    我有一个小问题 我学习java SE并找到类ClassLoader 我尝试在下面的代码中使用它 我正在尝试使用 URLClassLoader 在运行时动态加载类 URLClassLoader urlcl new URLClassLoader
  • 正则表达式选择引号之外的字符

    我想找到一个正则表达式来挑选出引号集之外的所有逗号 例如 foo gt bar foofoo gt bar bar 这将在第 1 行之后挑选出单个逗号 bar 我真的不关心单引号和双引号 有人有什么想法吗 我觉得预读应该可以做到这一点 但我