【发布时间】:2019-07-14 00:12:06
【问题描述】:
我有一个包含单引号、双引号和转义引号的字符串:
告诉自己“你很棒”,然后说“谢谢”感觉“有点“好”
我想提取一个正则表达式:
- 单引号字符串
- 双引号字符串
- 不在引号中的字符串
预期结果:以下组
- 告诉自己
- 你是\'伟大的\'
- 然后说
- 谢谢
- 感觉
- 一个“小”不错
要求:不要返回引号,并忽略转义的引号
我目前所拥有的:
Regex #1 返回单引号和双引号 (source):
((?<![\\])['"])((?:.(?!(?<![\\])\1))*.?)\1
正则表达式 #2 返回不带引号的字符串:
((?<![\\])['"]|^).*?((?<![\\])['"]|$)
问题:
- 我无法使 regex #2 将未引用的字符串放入一致的组中
- 我无法将正则表达式 #1 和 #2 组合起来以在一个正则表达式函数中返回所有字符串
【问题讨论】:
-
@Emma, Javascript
-
6和7错了,应该是
a \"little\" nice -
@sln,哎呀。是的,你是对的。固定。
-
@Emma,我需要维护组要求。我总是可以解决使用 javascript 的问题,但我的目标是看看是否有免费的 javascript 解决方案。
标签: javascript regex regex-lookarounds regex-group