Как я могу игнорировать ведущие нули в захвате RegEx?

2

У меня есть база данных, которая содержит идентификатор, такой как

        ID
000000000000000000000PBC_1164321
00000000000000000000000RP_395954
00000000000000000000000MOP_395954
00000000000000000000000395954

Я хочу получить только данные после первых 0:

ID
PBC_1164321
RP_395954
MOP_395954
395954

Я тестирую его на https://regexr.com. Я пытался использовать ^(0*) но он выбирает все 0. Я хочу противоположность этому, выбрать не все первые 0, а все после него. Пожалуйста, помогите.

  • 2
    Попробуй с sub . Вы можете указать начало строки ( ^ ) с последующими 0 или более 0 и заменить его на "" , sub(^0*", "", df1$ID)
  • 0
    Можете ли вы попробовать это по ссылке, которую я использовал в вопросе. Он не распознает "суб"
Показать ещё 17 комментариев
Теги:
regex-negation

2 ответа

1
Лучший ответ

Вы можете сопоставить текст после начальных нулей, используя ([^0].*)

1

Использование /[A-Z1-9].*/gi [A-Z1-9] будет соответствовать любому символу в AZ 1-9, по существу не 0, точка соответствует любому символу, а звезда - 0 или более раз. Теги совпадают глобально и не чувствительны к регистру.

Сначала я пытался найти решение, похожее на @Codelessbugging, но не смог заставить сайт правильно его обработать.

Ссылка на это решение
Ссылка на решение CodelessBugging

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню