我正在尝试使用正则表达式来获取最接近名称"每日"的ID的编号。尽管如此,我还是遇到了困难。 当我尝试正则表达式模式时,我得到以下结果:
我一直在尝试regexr来测试我的正则表达式。
在链接中也是我尝试获取结果的文本示例。我没有包含整篇文章,因为信息太多了。使用当前的正则表达式模式,我可以选择匹配编号3来获得我需要的结果,但问题是可以在期望的结果之间添加或删除ID。
我使用的另一种模式是}},{.*?"id":([0-9]*).*?Daily
,该模式会产生正确的ID,但问题是我还需要获取名称为" 9 am"还有其他人。改变"每日"在那个模式中" 9 am"返回"每日"的ID而不是#34; 9 am"。
我已经尝试了很多不同的选项,但是没有一个能够找到我想要的东西,期待我需要指定匹配编号的那个,当我让正则表达式匹配所有" id" :([0-9] *)模式。
有谁知道我如何才能正确地获得所需的结果?
答案 0 :(得分:3)
我想你想得到"id":8
。所以,你可以使用这个正则表达式:
"id":([0-9]*)(?=[^\}]*?Daily)
请参阅example。
澄清一下:我在正面预测中使用否定字符类[^\}]*?
,尽可能少地重复任意次数,因为在{{每日“之前不应该有}
个符号1}}字符串。