У меня есть длинный список цитат, для которых мне нужно извлечь полное имя каждого автора, год публикации, название и т. Д. Одна из цитат выглядит так:
Джо Боб, Джейн Доу и Джордж Х. Смит (2017). Название интересного отчета: Часть 2. Серии отчетов No. 101, Место для создания отчетов, Департамент составителей отчетов, город, провинция, страна, 44 страницы. ISBN: (печать) 123-0-1234-1234-5; (онлайн) 123-0-1234-1234-5.
И все цитаты оформляются одинаково. Часть, на которой я сейчас остановился, связана с извлечением полных имен авторов. Я читал здесь о том, как извлекать значения из списка, разделенного запятой, пробелом или точкой с запятой здесь, выполнив что-то вроде [\\s,;]+
. Как бы я сделал что-то подобное для запятой или слова «и»?
Я предполагаю, что «и» нужно рассматривать как группу символов, поэтому я попытался [^,|[and])]+
сопоставить пробелы между ,
или набором символов [and]
, но это, похоже, не работает. Это question аналогичен тем, что имеет дело с запятой или пробелом, но решение включает в себя неявное удаление пробелов.
После написания этой части я планирую построить остальную часть выражения, чтобы зафиксировать другие детали цитирования. Итак, предположим, что строка, с которой мы имеем дело, просто:
Джо Боб, Джейн Доу и Джордж Х. Смит
и каждое полное имя должно быть записано.
,\s*|\s+and\s+
или _ 2_, но в конечном итоге это может оказаться бесполезным. Просто к сведению:[and]
соответствует одному символу,a
,n
илиd
. Чтобы соответствовать последовательности символов, вам необходимо записать их вне класса символов. - person Wiktor Stribiżew   schedule 11.10.2017