В регулярных выражениях получить одно совпадение непосредственно перед шаблоном совпадения?
У меня есть ответ как ниже
{"id":9,"announcementName":"Test","announcementText":"<p>TestAssertion</p>\n","effectiveStartDate":"03/01/2016","effectiveEndDate":"03/02/2016","updatedDate":"02/29/2016","status":"Active","moduleName":"Individual Portal"}
{"id":103,"announcementName":"d3mgcwtqhdu8003","announcementText":"<p>This announcement is a test announcement”,"effectiveStartDate":"03/01/2016","effectiveEndDate":"03/02/2016","updatedDate":"02/29/2016","status":"Active","moduleName":"Individual Portal"}
{"id":113,"announcementName":"asdfrtwju3f5gh7f21","announcementText":"<p>This announcement is a test announcement”,"effectiveStartDate":"03/02/2016","effectiveEndDate":"03/03/2016","updatedDate":"02/29/2016","status":"InActive","moduleName":"Individual Portal"}
Я пытаюсь получить значение id (103) объявления Name d3mgcwtqhdu8003.
Я использую ниже шаблон RegEx, чтобы получить идентификатор
"id":(.*?),"announcementName":"${announcementName}","announcementText":"
Но он соответствует всему от первого идентификатора до объявления. и возвращаясь
9,"announcementName":"Test","announcementText":"<p>TestAssertion</p>\n","effectiveStartDate":"03/01/2016","effectiveEndDate":"03/02/2016","updatedDate":"02/29/2016","status":"Active","moduleName":"Individual Portal"}
{"id":103,"announcementName":"d3mgcwtqhdu8003","announcementText":
Но я хочу сопоставить только с идентификатором непосредственно перед требуемым объявлением.
Как я могу сделать это в RegEx . Может кто-нибудь, пожалуйста, помогите мне в этом?
1 ответ
В качестве ответа и здесь. Либо использовать соответствующий JSON
функции, если нет, простое регулярное выражение, подобное:
"id":(\d+)
вероятно будет делать, так как идентификаторы являются числовыми.