regex - 正则表达式 : how to ignore rest of the line

标签 regex

我有这样的输入(JSON 格式)

{"location":[{"id":"1BCDEFGHIJKLM","somename":"abcd","fewname":"xyzland","sid":"","sname":"","re​​gionname ":"Zee-Whole","type":"some","siteCode":"","someCode":"ROTXY","fewCode":"NL","pCode":"ROTXY","someid":"1BCDEFGHIJKLM","fewid":"GIC8"},{"id":"7823XYZHMOPRE","somename":"abcd Junction","fewname":"美国","sid":"","sname ":"","re​​gionname":"New York","type":"some","siteCode":"","someCode":"USRTJ","fewCode":"US","pCode":"USNWK","someid":"7823XYZHMOPRE","fewid":"7823XYZLMOPRE"},{"id":"799XYZHMOPRE","somename":"abcd-Maasvlakte","fewname":"xyzland","sid":"","sname":"","re​​gionname":"Zee-Whole","type":"some","siteCode":"","someCode":"XYROT","fewCode":"NL ","pCode":"","someid":"799XYZHMOPRE","fewid":"OIUOWER348534"}]}

现在,我想使用正则表达式获取第一个“id”值,即 1BCDEFGHIJKLM。我已经设法使用

[^({"location":[?{"id":")].{0,12} 但这是不完整的。有人可以帮助我如何忽略值 1BCDEFGHIJKLM< 之后的其余行/p>

最佳答案

Regex 不是执行此操作的方法。无论您使用什么平台,它都必须有一个 JSON 解析器。 这将是您最好的无差错解决方案。


假设您必须使用正则表达式,您可以使用 "id":"(.*?)" 获取所有 id,并获取第一个匹配项。

我找到了以下 article ,这可能对您有所帮助。

关于regex - 正则表达式 : how to ignore rest of the line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3871906/

相关文章:

r - 在 R 中向前看以按顺序识别单词模式

Java:拆分以逗号分隔的字符串但忽略括号中的逗号

javascript - 正则表达式匹配特定标记之前的所有字符

javascript - 输入元素模式属性的行为不符合正则表达式

mysql - 如何在 MySQL 中获取包含 [a-zA-Z] 以外字符的所有行

python - 基于正则表达式的匹配在Python中切片二维列表

Python:在正则表达式匹配之间提取多行

javascript - 信用卡以逗号分隔 - 正则表达式 - Javascript

javascript - 匹配从 tom 开始的字符串 "tomorrow"的任何部分

regex - 使用正则表达式表示标识符