У меня есть строка вида:Извлечение нескольких повторяющихся шаблонов текстовых
txt <- "|M CHG 6 44 -1 48 -1 53 -1 63 1 64 1 65 1|"
Первая цифра (6) означает, что модель \\s+\\d+\\s+[\\+-]?\\d+
рецидивирует 6 раз. На самом деле меня интересует только вторая (потенциально подписанная) цифра этого шаблона. Поэтому я ищу для функции или регулярное выражение, которое дает мне в результате
[1] "-1" "-1" "-1" "1" "1" "1"
Я пробовал с
gsub("^\\|M\\s+CHG\\s+\\d+(\\s+\\d+\\s+([\\+-]?\\d+))+\\|$", replacement="\\2", x=txt, perl=TRUE)
, а также
str_replace_all(x, perl("^\\|M\\s+CHG\\s+\\d+(\\s+\\d+\\s+([\\+-]?\\d+))+\\|$"), "\\2")
, но в обоих случаях я получил только последнее вхождение.
Выполняют ли ваши строки все то же самое, т. Е. '| M CHG \\ d'? С \\ d - одна или несколько цифр? –
@ SimonO101 да! – Beasterfield