我正在尝试使用正则表达式从字符串的末尾删除字符串et al
。可选在此子字符串的末尾可以有一个点,并且可以有一个逗号和/或多个空格:
https://regex101.com/r/aBw7xy/1
string.replace(/.*(,\s?\s*et\s+al.*)$/g, '')
但这不适用于这些输入示例的第一行:
name firstname secondname et al
name firstname secondname, et al
name firstname secondname,et al
name firstname secondname, et al.
name firstname secondname, et al.
name firstn. sec., et al.
name f s, et al.
我想摆脱此子字符串前面的每个
et al
和空格/逗号。结果应为:
name firstname secondname
name firstname secondname
name firstname secondname
name firstname secondname
name firstname secondname
name firstn. sec.
name f s
如果该组完全匹配,我该如何首先进行测试?
最佳答案
试试这个:
(,?\s*et\s+al.*)$
您的:。(,\ s?\ set \ s + al。)$
。将匹配您希望保留的所有内容,
\ s?不需要了,因为您有\ s *
关于javascript - JS/Regex:从字符串末尾删除一个子字符串,该字符串的前面有可选的逗号,并在后面加点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48106984/