Javascript Regex мульти-соответствия

1

Я провел здесь время Regex101 и здесь RegExr, но до сих пор не могу понять, как сделать следующее:

Пример Строка: "input_u_s13p_11_backup_person"

Что соответствует каждой строке: "input_u_s13p_"

Before: input_u_s13p_11_backup_person
After:  u_backup_person
Before: input_u_s13p_6_a_little_thing
After:  u_a_little_thing
Before: input_u_s13p_10_name
After:  u_name
Before: input_u_s13p_6_next_process_1
After:  u_next_process_1

В принципе, мне нужно, чтобы все "input_u_s13p_" вырвались, а "??" за которым следует и это. ?? = 1 или 2-значный номер

Теги:

3 ответа

1
Лучший ответ
input_u_s13p_\d{1,2} 

Это должно быть регулярное выражение, которое вы ищете. Ницца и просто. \D - числа, а {1,2} означает один или два из них

1

Я думаю, что это регулярное выражение может помочь вам input_(.*?_).*\d_(.*):

regex demo

  • 1
    Очень очень хорошо. Спасибо за демонстрационную ссылку regex тоже!
  • 0
    пожалуйста @Dave
1

Можете ли вы попробовать следующее регулярное выражение:

input_u_[a-z\d]+_\d{1,2}_

объяснение

  • input_u_ соответствует input_u_ буквально (с учетом регистра)
  • [\w\d]+_ каждая строка цифр/символов, за которой следует _
  • \d{1,2}_ одна или две цифры, за которыми следует _

var arr = ['input_u_s13p_10_backup_person', 'input_u_s13p_6_a_little_thing', 'input_u_s13p_10_name', 'input_u_s13p_6_next_process_1']; 

arr.forEach(function(str) {
    str = str.replace(/input_u_[\w\d]+_\d{1,2}_/g, ''); 
    str = 'u_' + str;
    console.log(str);
});

Ещё вопросы

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