Я изучал Regex / grep из руководства BBEdit, и он прошел гладко, за исключением этой части (она близка к концу, и в отличие от предыдущих разделов не дает объяснения).
Две большие части, с которыми я сталкиваюсь, это часть [^] и первая часть ^ (. *)
Во-первых, это говорит что-то кроме пробела? Как тогда поймать X. Поттера с пробелом после X.?
Во-вторых, в руководстве говорилось о не жадных квалификаторах, которые использовались так, чтобы не соответствовать самому длинному шаблону по умолчанию и случайно соответствовать вашей полной фразе. Как ^ (. *) Не соответствует полной строке и делает ее \ 1? Начало строки, ноль или более вхождений чего-либо, кроме возврата каретки? Как это не ловит Джуниора X. Поттера как один образец? Я думал, что здесь нам придется использовать некожадный классификатор, но, похоже, нет.
И, наконец, что именно пробелы делают в шаблоне регулярного выражения? Они представляют себя (я думал, вам нужно \ t, чтобы сделать это?) Или простой пробел (не нужно делать \ space , чтобы избежать этого).
Rearranging Name Lists
You can use grep patterns to transform a list of names in first name first form to last name first order (for a later sorting, for instance). Assume that the names are in the form:
Junior X. Potter
Jill Safai
Dylan Schuyler Goode
Walter Wang
If you use this search pattern:
^(.*) ([^ ]+)$
And this replacement string:
\2, \1
The transformed list becomes:
Potter, Junior X.
Safai, Jill
Goode, Dylan Schuyler
Wang, Walter