- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找将以下格式的字符串拆分为键值对数组的正则表达式。
"category: Music artist: \"Chris Martin\" album: \"A head full of dreams\" genre: dance"
进入
["category: Music", "artist: \"Chris Martin\"", "album: \"A head full of dreams\"", "genre: dance"]
此外,我如何验证字符串的格式是否正确,例如每个键都有一个值,如果键或值中有空格,则必须用双引号引起来?
我想出了这个来拆分键值对,但它只能在键值用引号括起来并用逗号分隔时才能分隔
/(^[^\s:"]+: *"[^"]+"$)|([^"]+: *[^"]+$)/
最佳答案
您可以获得匹配而不是通过以下正则表达式拆分字符串:
\w+:.*?(?=\s+\w+:|$)
解释:
\w+
- 匹配出现 1 次以上的单词字符,即 a-z
、A-Z
、0-9
, _
:
- 匹配 :
.*?
- 匹配出现次数超过 0 次的任何字符(换行符除外),尽可能少(?=\s+\w+:|$)
- 正向前瞻以确保当前位置后跟行尾或 1+ 个空格后跟 1+ 个单词字符后跟 :
代码:
var regex = /\w+:.*?(?=\s+\w+:|$)/gm;
var str = "category: Music artist: \"Chris Martin\" album: \"A head full of dreams\" genre: dance";
var objMatch = regex.exec(str);
var arr = new Array();
while(objMatch!=null)
{
arr[arr.length] = objMatch[0];
objMatch = regex.exec(str);
}
for(var i=0; i<arr.length; i++)
{
console.log(arr[i]);
}
或,您可以使用以下正则表达式执行拆分操作:
\s(?=\w+:)
解释:
\s
- 匹配空格(?=\w+:)
- 正向前瞻以确保当前位置后面必须跟 1+ 个单词字符,然后是 :
代码:
var regex = /\s(?=\w+:)/gm;
var str = "category: Music artist: \"Chris Martin\" album: \"A head full of dreams\" genre: dance";
var arr = str.split(regex);
for(var i=0; i<arr.length; i++)
{
console.log(arr[i]);
}
关于javascript - 用于拆分键值对的正则表达式(键 : value key: "va lue") from a string in Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48932120/
这应该是一个简单的问题:我知道 VA = RVA + PE 的 imagebase,现在我试图在反汇编程序中找到一个字符串,恰好位于 .text 部分的 0042720E。 imagebase是400
我正在尝试创建一个系统,每次将输入添加到文本框中时,我都可以从代码中创建一个数组。 html: JavaScript: function addTeamName()
我正在编写一个带有黑盒库的接口(interface)(称之为“A”),并且需要向它传递一个 void* 分配。我想用来自其他两个库(称为“X”和“Y”)的两个单独分配来支持此分配,复制对两个分配的所有
我有以下功能: void Register(Data* _pData, uint32 _Line, const char* _pFile, ...) { va_list Args; va_
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
谁能解释我在哪里可以找到Registration Authority (RA)和 Validation Authority (VA)一个网站,例如 wikipedia在 Browser喜欢 Googl
我是 VBA 新手,刚开始学习循环。 这是我的代码: sub worksheet_change(byval target as range) application.screenupdating =
微软金融服务公司 我尝试在 Ms 团队中实现任务模块以在弹出模块中打开外部应用程序/网址。 1st,我尝试了任务模块示例代码,并在使用 ngrok 时或在 azure 上部署后出现以下错误。 错误:
现在我正在使用以下方法,但我觉得有更好的方法: data = { "foo": 5, "bar": 10} l = [] for k in data: l.append(k) l.append
A file that is given as input to the linker is called Object File. The linker produces an Image file
是否可以从我编写的驱动程序代码中对内核空间 VA 进行简单的页面遍历转换?我正在尝试使用 virt_to_phys(),但翻译对我来说看起来不正确。还有其他 API 可以做到这一点吗? 最佳答案 vi
我正在寻找将以下格式的字符串拆分为键值对数组的正则表达式。 "category: Music artist: \"Chris Martin\" album: \"A head full of drea
我即将开始开发一个大型网络应用程序。其中包含媒体(视频、音频和图像)和大量用户群。 网站的流量也可能非常高。 所以在这里我有点困惑我应该使用 jquery/jquery ui 还是 Google cl
void AppBuf(message_id_type msgID, int32 numPairs, va_list va) { int32 len = va_args(va, int32); ...
例如:当我调用 intern() 方法后用 == 运算符比较两个字符串时,它返回 true。 String name = "Wahab"; // in string literal pool Stri
我在 GCC 终端 (centos linux) 中为 ATM 项目编译以下 c 和 .h 代码时收到以下错误。请帮忙,因为我是编程新手。 validate_acc.h #ifndef _VALIDA
我是一名优秀的程序员,十分优秀!