я работаю с данными, который выглядит примерно так:Regex, который удаляет все, кроме указанной строки,
{"score":0,"compare":0,"words":["book","planet","sun","science"],"words":[],"good":[],"bad":[]}
{"score":-1,"compare":0,"words":["book","planet","sun","science"],"words":[],"good":[],"bad":[]}
{"score":1,"compare":0,"words":["book","planet","sun","science"],"words":[],"good":[],"bad":[]}
Единственная информация, что я заинтересован в является «оценка» : # (который может быть либо положительное или отрицательное). Так как я работаю с тысячами строк, которые выглядят выше, я пытаюсь извлечь только информацию оценки, которая меня интересует, используя regular expression
.
Я, например, консультировался с различными сообщениями, например here, here и here, но ни один из них, похоже, не касается моей проблемы.
Я использовал их, чтобы попытаться написать собственное регулярное выражение. До сих пор я пытался вещи, такие как:.
(?!"score":(-)?[0-9])
^(?!"score":(-)?[0-9].*
(.(?!"score":(-)?[0-9]))*
, но каждый из этих примеров выбирает ALL информации, в том числе то, что я заинтересован в
Как я могу изменить эти регулярные выражения, чтобы прибыть на мой желаемый результат, который:
"score":0
"score":-1
"score":1
Почему бы не просто подобрать нужный вам текст? – anubhava
Это строки JSON, и если они появляются по строкам, вы можете прочитать файл по строкам, проанализировать строку и получить значение 'score'. Зачем использовать регулярное выражение? –
Я пытался найти решение, которое автоматически удалит всю другую информацию, которая меня не интересует. Эта информация представляет собой один столбец в довольно большом TSV-файле, поэтому я хотел выделить эту информацию. – owwoow14