正则表达式lookbehind (JS) 中的可选字符

2023-12-22

我正在尝试使用正则表达式来解析模板中的一些内容。有开始标签和结束标签,但我只想选择这些标签之间的内容(以便我可以 String.replace)

内容看起来像这样:

OpenTag
  The Content I want
CloseTag

OpenTag The Content I want CloseTag

我使用的正则表达式如下所示:

/(?<=OpenTag(\n))(.*?)(?=CloseTag)/msg

我遇到的问题是,有时可能有换行符,有时则没有,但是一旦我在lookbehind中将换行符设为可选(\n)?,换行符被包含在捕获组中(尽管看起来它应该是后面查找的一部分)。

如果我取消换行符,则内容中的第二个示例不会匹配。

regex101.com 上的示例,https://regex101.com/r/teBEQ9/2 https://regex101.com/r/teBEQ9/2


点与s标志匹配\n字符也是如此,因为它是可选的,所以它被捕获。使用Array.match()并修剪结果:

const str = `OpenTag
  The Content I want
CloseTag

OpenTag The Content I want CloseTag`

const result = str.match(/(?<=OpenTag)(.*?)(?=CloseTag)/msg).map(s => s.trim())

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

正则表达式lookbehind (JS) 中的可选字符 的相关文章

  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • TypeError: props.render 不是一个函数(React hook 形式)

    我将方法作为我用react hook form制作的形式的道具传递 当从react hook form添加控制器时 它给了我 TypeError props render不是一个函数 我在网上找不到任何解决方案 因此感谢任何帮助 impor
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比

随机推荐

  • Chrome/Safari 中的图像插值模式?

    我需要使用最近邻调整大小来渲染图像 而不是当前使用的双三次方式 我目前使用以下内容 ms interpolation mode nearest neighbor image rendering moz crisp edges 这适用于 IE
  • 使用 jQuery 将 WordPress 帖子附件移动到每个帖子动态创建的列表?

    我的目标是从 WordPress 帖子中剥离图像和 iframe 它们位于 para div 中 并将它们移动到 ul 在帖子上方 就在本地包装器 wrapper940 内 下面的 jQuery 可以工作 但是将所有帖子中的所有图像和 if
  • Objective-C:表格单元消失时是否会发生任何事件?

    当表格单元格消失 滚动表格时 时 是否有任何我可以覆盖的消息 我认为它应该类似于dealoc 我问这个是因为我有以下情况 我有一个包含许多单元格 100 的表格 每个单元格都包含一个 ImageView 为了加载图像 从 URL 我使用 N
  • 如何为Android编写驱动程序? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试了解android驱动程序开发 我知道驱动程序开发不是一件容易的事 但我想学习 有任何教程或任何简单的例子吗 我假设您指的
  • async/await 与手工制作的延续: ExecuteSynchronously 是否被巧妙地使用?

    我最近写了以下代码 Task
  • 大于和小于 MySql 查询因小数字段而失败

    我有一个包含 3 列的数据库 user id lat lon 1 1 403976 53 428692 2 1 353276 55 224692 etc etc 纬度和经度都设置为小数字段 我正在运行与此类似的查询 但它不会根据大于和小于给
  • 将多个 Excel 工作簿合并为一个具有多个工作表的工作簿

    我有大约 70 个不同的 Excel 文件 需要将它们合并到一本主工作簿中 我希望每个 Excel 文件在主工作簿中都有自己的工作表 主工作簿中生成的工作表的名称并不重要 我从另一个网站检索了此代码 但无法使其满足我的需求 该代码规定所有要
  • RStudio 中的 install.keras() 失败并出现 http 连接错误

    我一直试图在 RStudio Windows 中安装并运行 keras 但没有成功 我使用普通包 keras 安装了 keras 包 没有使用github 我已经安装了最新的 python 3 6 和 Anaconda 然后我用 gt li
  • 使用 pdfkit 时可以在同一段落中混合使用字体粗细吗?

    我正在尝试寻找一种使用方法粗体字体粗细用于内联强调pdfkit http pdfkit org 不幸的是 我无法找到一种在不强制换行的情况下更改字体的方法 不利于内联强调 我正在尝试类似的事情 pdf text Hello LEFT 200
  • EGIT 分支本地与远程跟踪

    我是 GIT 新手 我将 EGIT 与 eclipse 一起使用 我有一个关于分支机构的问题 我在其中看到 本地 和 远程跟踪 两个部分 如果我必须在其中一个分支机构工作 我认为有两种方法可以完成它 a 检查远程跟踪下的 origin fe
  • Yii2 - 将变量从视图传递到 Gridview 自定义操作列

    我想保存用户在单击页面的 gridview 小部件中的 编辑 按钮之前访问的最后一个位置 我创建了一个名为 lastAddress 的变量 但我真的不知道如何将其传递到 gridview 并将其附加到 编辑 按钮的 url 变量中 谁能告诉
  • SecTrustEvaluate 上始终为 EXC_BAD_ACCESS

    我在用苹果的示例代码 https developer apple com library mac documentation security conceptual CertKeyTrustProgGuide iPhone Tasks iP
  • 在 OpenGL 上映射 Wavefront .obj 纹理顶点

    一位艺术家给了我所有 3D 模型 让我导出为 obj 和 mtl 以便我可以使用 OpenGL 渲染它 但我不明白为什么纹理顶点大于 1 有时甚至是负值 看一下这个例子 vn 0 000717425 0 00106739 0 0099169
  • 错误:在 Android 中添加“splits”后找不到 EOCD

    我在 gradle 中使用以下拆分代码来减小 APK 大小 splits abi Enable ABI split enable true Clear list of ABIs reset Specify each architecture
  • 如何依赖注入 SignInManager?

    我有一个 Web API 应用程序 我正在使用第 3 方身份验证 Firebase 身份验证 我的身份验证工作正常 但一旦用户登录到我的服务器 我想将凭据和用户数据保存到我的 ASP NET Identity 表中 如果我在 Startup
  • PHP:在包含文件中“使用”? [复制]

    这个问题在这里已经有答案了 在 PHP 中使用命名空间时 您可以执行以下操作 是否可以将 use 行放入包含文件中 如果有几十个这样的 use 语句 那么将它们写入您需要它们的每个文件中是非常烦人的 但 use 语句仅适用于当前文件 并且在
  • cookie 和桌面应用程序

    据我所知 网站会向浏览器发送 cookie 以维护某些状态 浏览器会将其存储在本地 当再次访问该网站时 浏览器会将这些 cookie 作为请求的一部分发送回网站 我的印象是 cookie 是浏览器特定的东西 我想澄清这一理解 连接到 Web
  • 如何找到 COM prog id?

    我想通过后期绑定访问 COM 库 我怎样才能找到它的progID Type oClassType Type GetTypeFromProgID THE MISSING PROGID progID 通常采用 Library Class 形式
  • 更新单元格电子表格时,请求的身份验证范围不足 [403]

    在 Google Developer Console 中 Sheet API 已启用 我使用与访问电子表格相同的密钥 当我读取数据时 一切正常 我在 requestUp Execute 上收到请求身份验证范围不足的错误 using Syst
  • 正则表达式lookbehind (JS) 中的可选字符

    我正在尝试使用正则表达式来解析模板中的一些内容 有开始标签和结束标签 但我只想选择这些标签之间的内容 以便我可以 String replace 内容看起来像这样 OpenTag The Content I want CloseTag Ope