这个正则表达式的逆

Inverse of this regex expression

我有一个列表:

50 - David Herd (1961-1968)
49 - Teddy Sheringham (1997-2001)
48 - George Wall (1906-1915)
47 - Stan Pearson (1935-1954)
46 - Harry Gregg (1957-1966)
45 - Paddy Crerand (1963-1971)
44 - Jaap Stam (1998-2001)
43 - Paul Ince (1989-1995)
42 - Dwight Yorke (1998-2002)

我想 select 除了名字和姓氏之外的所有字符,中间有 space,以便删除它们并只留下名字、space 和姓氏.

到目前为止,我可以 select 名字、space 和姓氏:

([[a-zA-Z]+\s[a-zA-Z]+)

但我不确定如何 'invert' 这个表达式。任何指针将不胜感激。

一个选项是匹配包围的数据,并捕获名字space姓氏。

在替换中使用捕获组。

^.*?\b([a-zA-Z]+\s[a-zA-Z]+)\b.*

Regex demo

如果正则表达式替换适合您,您可以在正则表达式模式下尝试以下操作:

Find:    \d+ - (\w+(?: \w+)+) \(\d{4}-\d{4}\)
Replace: 

Demo