替换所有地方的字符串,除非它在引号内

2023-12-07

我想全部更换:) by :D,除非它们在引号内"

示例1:

Hey man :D, how're you? :) My friend told me "this can't be true :)"

变成

Hey man :D, how're you? :D My friend told me "this can't be true :)"

如你所见,:)如果它被包围,则不会被替换"。如果没有这个条件的话,那就很简单了,对吧?我使用 Javascript (jQuery) 来完成这一切。

如果使用正则表达式显然不可能做到这一点,那么替代建议是什么?


假设没有双引号不平衡,这就是适合您的正则表达式:

:\)(?=(?:(?:[^"]*"){2})*[^"]*$)

解释:该正则表达式使用正向前瞻,基本上匹配 0 次或多次出现的一对some text until a double quote is found i.e. ([^"]*"){2}在每场比赛的右侧(RHS):).

简单来说,这意味着替换:)仅当它在双引号之外时,因为双引号内的所有匹配项都将具有奇数个[^"]*"RHS 上的比赛。

现场演示:1。http://www.rubular.com/r/3aixZy5bYR

现场演示:2。http://ideone.com/C679NW

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

替换所有地方的字符串,除非它在引号内 的相关文章

随机推荐

  • 如何在 Jumbotron 中居中表单 - Bootstrap 4

    我对 Bootstrap 完全陌生 如果这是一个愚蠢的问题 我很抱歉 我正在尝试将表格置于大屏幕的中心 除了形式之外 大屏幕中的所有内容都处于中心位置 我已经这样好几个小时了 就是想不通 这是我的代码
  • 根据另一列的值在 pandas 中创建新列

    我有一些关于不同个体性别的数据集 比如说 数据集如下所示 Male Female Male and Female Male Male Female Trans Unknown Male and Female 有些人认为自己是男性 有些人认为
  • @Autowired beans 在 spring 3.1 中使用 beans:profiles 后未加载

    我用过beans profiles在我的 xml 中是这样的
  • 警告“ScrollingHorizo​​ntally”已定义但从未使用 no-unused-vars

    有人可以帮忙解释这个错误吗 我尝试了几种不同的方法来编写 React Component 是不是少了点什么 Error 4 7 警告 ScrollingHorizo ntally 已定义但从未使用 no unused vars 成分 imp
  • 更新 PHP 中旧存储的 md5 密码以提高安全性

    目前 我有一个存储 md5 密码的数据库 几年前 这被认为比现在更安全 并且已经到了密码需要更安全的地步 我在这里读过很多关于crypt md5 hash bcrypt等 并开始考虑使用以下内容来比现在更好地 保护 密码 我将使用以下组合h
  • Java 中鸭子类型的示例是什么?

    我最近刚刚听说鸭子打字 我读了维基百科文章关于它 但我很难将这些示例翻译成 Java 这确实有助于我的理解 有人能给出 Java 中鸭子类型的清晰示例以及我如何使用它吗 Java 的设计不适合鸭子类型 您可能选择的方式是反思 public
  • 角度找不到上传的图像

    场景很简单 使用表单上传图片 如果上传成功 则刷新图库 我使用 Angular6 和ng 轮播 所有系统均在我的 Windows 10 笔记本电脑中本地设置 表单被上传 文本数据保存在数据库中 图像保存在节点 8 11 1 的文件中 我将图
  • 如何从 MEF 组件提供 XAML 资源

    我有一个导入 MEF 组件 当导入向导打开时会动态加载该组件 一旦用户选择了她想要处理的导入类型 对导入向导对话框的控制就会传递给所选的导入组件 当然 导入组件需要向向导对话框提供资源 例如DataTemplates 目前这是通过以下方式实
  • 当我滚动 UiTableView 时,TextLabel 颜色自动更改

    我改变文本标签颜色didSelectRowAt但是当我滚动时UITableView它也影响到其他方面textlabel also func tableView tableView UITableView didSelectRowAt ind
  • PHP 如何阻止我的网站代理?

    我正在寻找阻止代理进入我的网站的绝对最佳方法 原因是我在项目中使用了唯一的 IP 地址 你会推荐什么 Thanks 不可能完全准确地确定连接到您网站的人是否正在代理其他人的请求 您可以实时合理地做的最好的事情就是寻找X FORWARDED
  • Python Pip 安装版本错误

    我知道这个问题以前曾被问过 但我的问题有点不同 我安装了 pip2 7 并工作 安装了 pip3 4 并工作 使用我的 Python 2 7 和 3 4 版本 但我的 pip2 7 安装在错误的目录中 它安装在 3 4 文件夹中 正如您所看
  • iOS 10 如何设置 UNotificationContent threadIdentifier 进行远程通知

    TL DR 需要在 APNs 通知负载 JSON 中设置什么键来对应threadIdentifier的财产UNNotificationContent目的 例如这 category 键对应于categoryIdentifier财产 iOS 1
  • 使用 libx11 截屏

    我目前正在尝试使用 libx11 截屏 include
  • Ruby 中的 count 方法如何工作?

    我很难理解以下代码段Ruby 文档 a hello world a count lo gt 5 a count lo o gt 2 a count hello l gt 4 a count ej m gt 4 hello world cou
  • 无效的目标版本:推送 Heroku 存储库时为 12

    每当我发生错误时git push heroku master这就是错误 无法在项目后端执行目标 org apache maven plugins maven compiler plugin 3 8 1 compile default com
  • 如何从shopee网站抓取商品?

    我尝试使用 python 来获取产品信息 如名称和价格 但这一次不起作用 即使我通过网络浏览器程序员模式检查html代码来获取类名并尝试使用这个名称来获取我想要的任何东西 但我得到的结果是这样的 我找不到任何项目 class col xs
  • Java 8 中字符串使用多少内存?

    我最近读了很多关于字符串内存分配的文章 但找不到任何与 Java 8 相同的细节 一个String需要多少内存空间 Alexandru Tanasescu 在Java 8中使用 我用的是64位版本 Java7 或更低版本 最小字符串内存使用
  • 在spark-shell中将行拆分为多行

    我已将数据导入到 Spark shell 中的 Spark DataFrame 中 数据填充如下 Col1 Col2 Col3 Col4 A1 11 B2 a b 1 0xFFFFFF A1 12 B1 2 A2 12 B2 0xFFF45
  • Android 使用哪种 HttpURLConnection 实现?

    我正在寻找实际的代码实现connect disconnect in java net URLConnection java java net HttpURLConnection java 在下面的链接中 connect 和disconnec
  • 替换所有地方的字符串,除非它在引号内

    我想全部更换 by D 除非它们在引号内 示例1 Hey man D how re you My friend told me this can t be true 变成 Hey man D how re you D My friend t