Я провел здесь время 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-значный номер
input_u_s13p_\d{1,2}
Это должно быть регулярное выражение, которое вы ищете. Ницца и просто. \D - числа, а {1,2} означает один или два из них
Я думаю, что это регулярное выражение может помочь вам input_(.*?_).*\d_(.*)
:
Можете ли вы попробовать следующее регулярное выражение:
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);
});