java - 如何拆分单词的所有实例,不包括该单词是引号中的子字符串?
问题描述
我需要一个在 Javas Pattern.split() 方法中使用的正则表达式:我需要适当地解析这个字符串中单词的出现:
- 开始 -
我想在这个香蕉上拆分,但不是“香蕉”,我确实想在这个香蕉上拆分,但不是“子字符串中的任何香蕉和\或每组文字引号之间的任何香蕉”
- 结尾 -
我的第一次尝试是尝试这个:
如果单词被空格和边界包围,它会分裂,但它也会抓住任何两边都有一个字符的单词,并且不会在引号之间或一组引号之间的更大单词组之间陷入困境。
\bbanana\b
我的另一个想法是这样的:
['].\*[^(?:banana)].\*[']|banana
这将在引号或任何香蕉之间抓取带有香蕉的任何字符串,并且仅在匹配第二组而不是非捕获组的组上拆分,但非捕获组仍将对它们执行正则表达式操作。因此,似乎 .split 与 this 也无法实现这一点。
上面的字符串中有 5 个香蕉出现,我只想拆分上面字符串中的第一个和第三个香蕉。这可能吗?我需要消除任何由 '' 封装的香蕉的分裂,但在这些文字引号之间可以有任意数量的字符
所以预期的输出将是:
我想就此分开。
但不是“香蕉”,我确实想就此分开。
但不是'anybananain 一个子字符串和\或每组文字引号之间的任何香蕉'。
解决方案
推荐阅读
- php - php异常处理问题
- javascript - 如何在猫鼬中将对象保存为子集合引用的子对象?
- node.js - 我可以在 CentOS 6x 上安装 nodejs v.8.12 吗?
- firebase - Firestore 模拟器中的“空值错误”
- angularjs - 在 AngularJS 中获取 JSON 数据,例如 [{"key":"[{'key': 'value ','key': 'value '}]"}] 并显示在表格中
- android - 在android中绘制自定义可绘制形状
- python - 'tiny.weights' 不显示输出 - YOLOv3
- hyper-v - 使用来自主机的 Hyper V ping 上的静态 IP 失败
- r - 在 R 3.4.4、Linux Mint Sonya 上安装 swirl 时出现问题
- java - Java - 误解 ceil 和 floor 方法