В настоящее время у меня есть регулярное выражение, которое считывает только счет домашней и гостевой команды и регистрирует только номера. Однако я хочу принимать нулевые значения для хранения приборов.
Я не уверен, какую разновидность регулярного выражения я использую, но точно не PCRE. Извиняюсь за отсутствие информации, прошло некоторое время с тех пор, как я коснулся этого конкретного шаблона Regex.
private static final Pattern FIXTURES_REGEX = Pattern.compile("\\{\"fixture_id\".*?\"homeTeam_id\":\"?(\\d+)\"?,\"awayTeam_id\":\"?(\\d+)\"?,.*?\"goalsHomeTeam\":\"?(\\d+)\"?,\"goalsAwayTeam\":\"?(\\d+)\"?,.*?\"firstHalfStart\":\"?(\\d+)\"?");
Это регулярное выражение, с которым я сейчас работаю, но чтобы точно определить, что мне нужно изменить, это фраза:
.*?\"goalsHomeTeam\":\"?(\\d+)\"?
Который выбирает только числа из этого значения. Затем я передаю это регулярное выражение через сопоставитель и использую цикл, чтобы найти правильные значения.
Пример данных, которые я бы читал:
"goalsHomeTeam":"2"
Или
"goalsHomeTeam":NULL
Большое спасибо, Люк
Регулярное выражение для выражения, содержащего NULL или число
^[0-9]*$|^NULL$
Если вместо NULL вы считаете пустую строку, то:
^[0-9]*$|^\w$
Спасибо за ответ, он работает и без 'w' вот так: ^[0-9]*$|^$