Как исключить часть строки, начинающуюся и заканчивающуюся определенным словом / символом в регулярном выражении? - PullRequest
1 голос
/ 19 июня 2019

Попытка в основном отредактировать файл JSON, используя grep, и в настоящее время у меня есть

(?={\"expand)(.*?)(?= @)|(?=","component)(.*?)(?<=}})

Это чтобы посмотреть на строку и исключить любую строку, которая идет после "@" и перед строкой "" компонент "(цитата перед словом). Когда я использую это, я просто продолжаю получать первую часть (все до "@", но не строки после "" компонента ")

Я искал везде, но решение, котороебыл опубликован относится к текстам, которые имеют несколько строк, но этот файл JSON считается одной гигантской целой строкой, поэтому они не работают.

Уже пробовал регулярное выражение, например:

(?<!"component\.)$

, JSON идетнапример:

{
         "expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields",
         "id":"191657",
         "self":"http://localhost:8080/rest/api/2/issue/,
         "key":"NIC1-159",
         "fields":{
            "summary":"HttpOnlyCookies_In_Config @ NOT NEEDED TEXT HERE",
            "components":[
               {
                  "self":"http://localhost:8080/rest/api/2/",
                  "id":"13218",
                  "name":"Nicktest"
               }
            ],
            "customfield_12900":"test.repo",
            "description":"*HttpOnlyCookies_In_Config* issue exists @ *someothertext here",
            "customfield_12320":null,
            "priority":{
               "self":"http://localhost:8080/rest/api/2/priority/",
               "iconUrl":"http://localhost:8080/images/icons/priorities/major.svg",
               "name":"2-Major",
               "id":""
            },
            "customfield_12322":null
         }
      },

и мне хотелось бы:

{
         "expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields",
         "id":"191657",
         "self":"http://localhost:8080/rest/api/2/issue/,
         "key":"NIC1-159",
         "fields":{
            "summary":"HttpOnlyCookies_In_Config",
            "components":[
               {
                  "self":"http://localhost:8080/rest/api/2/",
                  "id":"13218",
                  "name":"Nicktest"
               }
            ],
            "customfield_12900":"test.repo",
            "description":"*HttpOnlyCookies_In_Config* issue exists @ *someothertext here",
            "customfield_12320":null,
            "priority":{
               "self":"http://localhost:8080/rest/api/2/priority/",
               "iconUrl":"http://localhost:8080/images/icons/priorities/major.svg",
               "name":"2-Major",
               "id":""
            },
            "customfield_12322":null
         }
      },

Обратите внимание, что второй @ в "description" не был удален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...