我正在尝试找出正确的正则表达式以从字符串中提取玩家名称。在某些情况下,名称前有两组括号,如下面的代码所示:基本上,在两种情况下,我都想提取“ K. Collins”
(6:57) K.Collins pass incomplete short right to A.Crumpler. Coverage by #56 Woodley, #22 Gay.
(6:52) (Shotgun) K.Collins pass incomplete short right to B.Scaife (T.Polamalu).
答案 0 :(得分:0)
您可以这样做:
s = c("(6:57) K.Collins pass incomplete short right to A.Crumpler. Coverage by #56 Woodley, #22 Gay.", "(6:52) (Shotgun) K.Collins pass incomplete short right to B.Scaife (T.Polamalu).")
str_extract_all(s, '([A-Z]([a-z]+)?\\.[A-Z][a-z]+)')[1]
答案 1 :(得分:0)
我的猜测是,如果我们希望捕获名字,则此表达式可能在这里有用:
.*?\s+(\S+\.[A-Z][a-z]+).*
使用此捕获组(\S+\.[A-Z][a-z]+)
。
,我们的代码可能类似于:
gsub(".*?\\s+(\\S+\\.[A-Z][a-z]+).*", "\\1", input_goes_here)