Какое правильное регулярное выражение RE2 для извлечения подстроки из строки, содержащей числа, символы и символы?

Я пытаюсь извлечь подстроку, содержащую «номера, имя файла и расширение», из сложного имени файла. Это нужно повторить для списка имен файлов:

file1 = "Apple_Or_Orange_1spreadsheetApp.regextract()3
output1 = "1_2_3_4_filename_1.pdf"
output2 = "5_6_7_8_filename_2.pdf"
filename_1.pdf" file2 = "Apple_Or_Orange_5_6_7_8_filename_2.pdf"

Все это есть в Google Sheet. Поскольку это в Google Sheet, я пытаюсь использовать функцию spreadsheetApp.regextract(). Эта функция принимает только регулярное выражение формата RE2:

regex = "^[^Drive_By_Wire_Safety_Case_]\d|\w|."

Но это не дает желаемого результата. Ожидаемый результат:

output1 = "1_2_3_4_filename_1.pdf"
output2 = "5_6_7_8_filename_2.pdf"

person Akshay Aggarwal    schedule 12.06.2019    source источник
comment
Попробуйте ^Apple_Or_Orange_(.+). Или, если у вас есть Drive_By_Wire_Safety_Case_, используйте ^Drive_By_Wire_Safety_Case_(.+)   -  person Wiktor Stribiżew    schedule 12.06.2019
comment
Спасибо! это сработало   -  person Akshay Aggarwal    schedule 12.06.2019


Ответы (1)


Вы можете извлечь текст, используя

REGEXEXTRACT(A1, "^Apple_Or_Orange_(.+)")

См. демонстрацию регулярного выражения и график регулярных выражений:

введите здесь описание изображения

(.+) – это группа захвата, которая при использовании в шаблоне регулярного выражения захватывает (часть) совпадения, а REGEXEXTRACT возвращает только эту часть.

person Wiktor Stribiżew    schedule 12.06.2019