从字符串中提取除方括号中的单词之外的所有单词

2024-03-26

我再次完全陷入创建正则表达式的困境。

我有一个字符串模式,例如:

str = ' wordA [] wordAB [xyz] wordABC [x] '

所以总有一个词后面跟有括号里的东西[ ... ]或空括号[]。单词的长度、前导和尾随空格以及括号内的字符数是随机的。该序列重复的频率也是随机的。

我想只提取不带括号的单词:

output = 

    'wordA'    'wordBC'    'wordABC'

我认为问题在于方括号,因为它们是正则表达式的功能字符。我尝试过类似的东西

output = regexp(str,'^\[.+\]$','split')

和没有成功的变化。

有什么提示吗?


我们可以使用选择所有单词\w+正则表达式。但它会选择所有单词(包括括号中的单词)。括号外的单词前后都有空格,因此我们可以添加正向lookbehind(?<=\s)- 确保单词之前有空格,并且积极向前看(?=\s)- 确保单词后面有空格。此外,第一个单词前面没有空格,因此我们需要包含要包含的条件字符串的开头也给我们积极的回顾(?<=\s|^)。最后我们有了完整的正则表达式:

(?<=\s|^)\w+(?=\s)

如果你能拥有wordA[]字符串(没有空格),那么你需要添加[积极的前瞻。

(?<=\s|^)\w+(?=\s|\[)

如果你能拥有wordA [ xyz ]字符串(括号内的空格),上面的正则表达式不起作用,我们需要不同的策略 - 查找没有的单词[前。但我们不能只说前面没有 [ 的单词,因为它会匹配yz in [xyz],我们需要说我们需要的词不以[和符号以外的].

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

从字符串中提取除方括号中的单词之外的所有单词 的相关文章

  • C# Regex.Replace():获取值

    我正在解析 BB 代码图像标签 img http imagesource com img 我正在使用以下 Replace 函数 Regex Replace msg img img img src border RegexOptions Ig
  • 正则表达式中的顺序不重要吗?

    我正在查看此 stackoverflow 链接中提出的问题 奇数个 a 的正则表达式 https stackoverflow com questions 28902496 regular expression for odd number
  • 正则表达式匹配引号外的文本等

    1 我想出了这个正则表达式来匹配所有引用的字符串 看起来效果很好 问题是如何匹配不在引号内的文本 不知怎的 逆负负 我阅读了文档并 1 不起作用 嗯 如果第一个正则表达式有效 我将使用它从输入字符串中删除所有带引号的字符串 然后 您将剩下的
  • Matlab:通过扩展向量来扩展矩阵

    我有一个dxmxn matrix A 解释 对于每个n 有m维度向量d 我想将每个 d 维向量扩展如下 考虑一个向量v维度 d 1 2 d 它是 x 1 x 2 x d 但为了简单起见 我删除了 x 目标是延长v获得一个d d向量形式 1
  • ND 输入的 im2col 算法

    我正在尝试为输入维度 gt 2D 编写自己的 im2col 算法 目前我正在研究 Matlab im2col 的实现 但是 我找不到任何有关二维以上输入的情况的文档 如果我将 3D 张量输入到函数中 我确实会得到输出 不过我不太明白你是如何
  • 如何在不使用 MATLAB 的情况下打开 .mat 文件?

    我在Matlab中做了一个项目 现在我已经卸载了Matlab 现在 我需要一些我的项目的参考 我留下了所有 mat 文件 我正在尝试在记事本中打开它们 并且我在那里得到了 unicode 字符 我的问题很简单 如何在记事本或某些文字处理器中
  • 在 JavaScript 中查找文本字符串

    我有一个很大的有效 JavaScript 文件 utf 8 我需要从中自动提取所有文本字符串 为简单起见 该文件不包含任何注释块 仅包含有效的 ES6 JavaScript 代码 一旦我发现发生 or 或 我应该扫描文本块的末尾 这是我陷入
  • SPMD 与 Parfor

    我对 matlab 中的并行计算很陌生 我有一个创建分类器 SVM 的函数 我想用几个数据集来测试它 我有一个 2 核工作站 所以我想并行运行测试 有人可以向我解释一下以下之间的区别 dataset array dataset1 datas
  • Python正则表达式提取宽度x深度x高度

    我正在尝试从 df 中的 描述 列中提取项目的物理尺寸 以用它创建一个新列 尺寸通常以这种格式 120x80x100 出现在长描述的中间 例如 Lorem ipsum dolor sit amet consectetur adipiscin
  • 匹配嵌套的html注释块正则表达式[重复]

    这个问题在这里已经有答案了 我有这个 html 代码块 some html content here top base some html content here 1 top some html content here 2 top so
  • 使用 ruby​​ 的正则表达式来匹配句子中的主题标签

    我正在尝试使用 ruby on Rails 为一个简单的大学项目提取主题标签 我面临着仅包含数字的标签和没有空格的标签的问题 text Pack my box with 5 dozen liquor jugs link com liquor
  • re.findall结果的顺序有保证吗?

    返回的匹配列表是否为re findall总是与源文本中的顺序相同 是的 正如中所述re module docs https docs python org 2 library re html module contents 以字符串列表的形
  • Windows 上 Matlab 64 位版本的免费 SCM [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当 Matlab 安装为 64 位版本时 它只能使用 64 位源代码控制系统 是否有免费的源代码控制系统
  • JavaScript 正则表达式异常(无效组)

    我有以下正则表达式 lt index d g 我正在尝试在像这样的字符串中查找索引整数 some text index 1 id 2 value 3 该表达式在 php 中工作正常 但在 javascript 中不起作用 我收到以下错误 未
  • 计算向量中连续 1 和 0 的数量

    在 Matlab 中我有一个如下所示的向量 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 我现在要做的是统计这个向量中1的个数 连续的 1 算作 1 此外 我还想计算 1 之间 0 的平均值和中
  • 梯度下降Matlab实现

    我已经浏览了堆栈溢出中的许多代码 并在同一行上编写了自己的代码 这段代码有一些问题我无法理解 我正在存储值 theta1 和 theta 2 以及用于分析目的的成本函数 x 和 Y 的数据可以从此下载页 它具有 dat 文件形式的 x 和
  • Java 中的字符串拆分:可变长度的前向和后向

    我想使用数字作为分隔符来破坏 Java 中的字符串 但保留数字 一些研究表明 使用 String 中的 split method 是合适的 但我不明白如何做到这一点 为了进一步解释我的问题 我将使用一个例子 Input 20 55 50 0
  • 如何搜索包含表情符号的文本?

    我们有一个 MySQL InnoDB 表 带有一个文本字段COLLATE utf8mb4 unicode ci 我需要搜索包含任何表情符号字符的行 我搜索了相当多的问题 但人们似乎有一个他们正在搜索的表情符号列表 我实际上正在寻找一种可以找
  • 从 split 切换到 preg_split 时 php preg_split 错误

    在从 split 更改为 preg split 以获得 php 5 3 兼容性后 我从 php 收到此警告 PHP Warning preg split Delimiter must not be alphanumeric or backs
  • 正则表达式,获取两个关键字之间的整个字符串

    我正在做一些输出解析 我需要从两个单词之间抓取一大块文本 例如 如果我正在解析文本 Hi this is an example 我希望能够指定我的两个单词是 Hi 和 example 然后我将取回字符串 this is an 我知道正则表达

随机推荐

  • 如何在反应中将商品添加到购物车页面

    当用户单击 添加到购物车 按钮时 我尝试将商品添加到购物车页面 import React from react import bootstrap import useParams from react router dom function
  • -fprofile-use 和 -fauto-profile 之间有什么区别?

    有什么区别 fprofile use and fauto profile 这是文档所说的 https gcc gnu org onlinedocs gcc Optimize Options html Optimize Options htt
  • 流数据和 Hadoop? (不是 Hadoop 流)

    我想使用 MapReduce 方法分析连续的数据流 通过 HTTP 访问 因此我一直在研究 Apache Hadoop 不幸的是 Hadoop 似乎希望以固定大小的输入文件开始作业 而不是在新数据到达时将其传递给消费者 事实确实如此 还是我
  • Oracle SQL 中的有向图使用递归查询仅访问每个节点一次

    描述 在我们的问题域中 我们正在研究一组连接在一起形成图的边 从给定的节点 或多个节点 开始 我们必须列出整个图中连接到给定节点 或多个节点 的所有链接 我们必须从左到右 从上到下显示这些链接 对于循环数量有限的图 我们有一个针对此问题的有
  • 无法从 Kubernetes 获取 apiVersions:无法检索服务器 API 的完整列表

    尝试部署应用程序时出现如下错误 Error UPGRADE FAILED could not get apiVersions from Kubernetes unable to retrieve the complete list of s
  • 使用 -L 添加 link_library 时,Cmake 未设置 RPATH

    按以下方式设置链接库时 target link libraries SOME TARGET L somedir lfoo cmake 不处理 RPATH 使用 L 和 l 不是最佳实践 还是实际上完全错误 创建我自己的 Find cmake
  • 是否有 PHP 的 identicon 库 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一个可以创建的 PHP 库 函数 类识别图标 http en wikipedia org wiki Identicons 我用这个 clas
  • 如何从本地文件夹安装/更新 powershell 模块 - 设置内部模块存储库

    我需要在一台生产机器上安装 PowerShell 模块 即 sqlserver 但是 生产服务器没有任何互联网连接 我使用的另一种方法是使用 save module 将模块文件保存到共享文件夹中 然后将文件从共享文件夹直接复制到生产服务器的
  • git ls-remote --tags:如何获取日期信息?

    我在用git ls remote tags
  • XTS 中滚动列表的时间不等

    我有报价级别的股票数据 并且想创建前 10 秒所有报价的滚动列表 下面的代码可以工作 但对于大量数据需要很长时间 我想矢量化这个过程或以其他方式使其更快 但我没有想出任何办法 任何正确方向的建议或推动将不胜感激 library quantm
  • 如何使用 systemctl systemd 启动 svnserve

    debian jessie 中的 subversion 软件包不包含 systemd 服务文件 自动启动的最简单解决方案是什么 我尝试 Unit Description Subversion protocol daemon After sy
  • C++ 中将值作为常量、引用和常量引用返回有何含义?

    我正在学习C 但我仍然对此感到困惑 在 C 中将值作为常量 引用和常量引用返回有何含义 例如 const int exampleOne int exampleTwo const int exampleThree 以下是您所有案件的内幕 通过
  • 使用委托将数据从一个 TableView 传输到另一个 TableView

    我需要从一个传输一个字符串tableview通过单击一个内的按钮到另一个UITableView 我知道如何获得indexPath通过按钮 如下所示 let button sender as MyButton let view button
  • Powerpoint 2010 多个实例

    我在这里看到了很多关于这个主题的帖子 但似乎没有一个直接回答这个问题 我想控制在第二台显示器上运行的两个 Powerpoint 实例 理想的解决方案如下所示 PowerPoint Application PPTViewer1 new Pow
  • Spring MVC 处理会话过期

    我正在与Jboss EAP 6 2 Java EE 6 and Spring MVC 4 0 2 当会话过期时 我想执行页面重定向 我开发了一个 Spring 拦截器 Component public class SessionExpire
  • 分割seeds.rb文件[重复]

    这个问题在这里已经有答案了 My seeds rb文件变得非常大 重构文件中数据的最佳方法是什么 我可以将数据放入各种文件中吗 require他们在seeds rb file 我们将所有种子存储在文件夹中db seeds并在里面db see
  • 等待异步调用在完成块内完成

    我目前正在开发一个 POC 应用程序 我之前曾在这里发布过相关内容 https stackoverflow com questions 47418653 nsurlsessiondatatask authentication challen
  • 基于 Licenses.licx 的 .Net 组件许可模型如何工作?

    我遇到过多个使用许可方案的第三方 Net 组件供应商 在评估副本上 组件会显示导航屏幕或水印或某些此类指示器 在获得许可的机器上 许可证 licx被创建 看起来是什么just程序集全名 标识符 构建客户端程序集时必须包含此文件 这个模型如何
  • 从 NOT EXISTS 转换为 NOT IN

    我有三张桌子 sailor 姓名 评级 boat 名称 颜色 等级 reservation sname bname 工作日 开始 结束 为了获得预订每艘红船的水手名单 我有 select s sname from sailor s wher
  • 从字符串中提取除方括号中的单词之外的所有单词

    我再次完全陷入创建正则表达式的困境 我有一个字符串模式 例如 str wordA wordAB xyz wordABC x 所以总有一个词后面跟有括号里的东西 或空括号 单词的长度 前导和尾随空格以及括号内的字符数是随机的 该序列重复的频率