我無法理解以下代碼行中正則表達式的含義。在r中解析sub和gsub的正則表達式
author = "10_1 A Kumar; Ahmed Hemani ; Johnny Öberg<"
# after some experiment, it looks like this line captures whatever is in
# front of the underscore.
authodid = sub("_.*","",author)
# this line extracts the number after the underscore, but I don't know
# how this is achieved
paperno <- sub(".*_(\\w*)\\s.*", "\\1", author)
# this line extracts the string after the numbers
# I also have no idea how this is achieved through the code
coauthor <- gsub("<","",sub("^.*?\\s","", author))
我已經在網上看到第一個參數是模式,第二個是替換,第三個是對象操作。我也在SO上看到了一些帖子,並得知\\w
表示一個字,\\s
是一個空格。
但是,有幾件事情還不清楚。 \\w
表示單詞,是否表示下一個單詞?如果不是,我應該如何解釋?我瞭解到^
匹配字符串的開始,但^
之後的那段時間呢?
更重要的是,什麼是_.*
的解釋.*_
^.*?\\s
怎麼樣?我應該如何閱讀它們?
謝謝!
在這裏鍵入這些東西https://regex101.com – rawr
@rawr我應該選擇哪種味道?似乎所有人都顯示錯誤。 – Waht
[pcre應該沒問題](https://regex101.com/r/sIb7Ql/1),我沒有得到一個錯誤,也許你是因爲雙\這是不需要的,當你使用這個網站 – rawr