Regex для сопоставления названий компаний из заявлений об авторских правах при нескольких условиях (продолжение 2) - PullRequest
0 голосов
/ 20 марта 2019

Я разместил этот вопрос, чтобы получить шаблон регулярного выражения, соответствующий названиям компаний из заявлений об авторских правах

Regex для сопоставления названий компаний из заявлений об авторских правах при нескольких условиях

Из которого я получил этот шаблон, который работает для всех примеров, которые я привел в вопросе:

(?i)(?:©(?:\s*Copyright)?|Copyright(?:\s*©)?)\s*\d+(?:\s*-\s*\d+)?\s*(.*?(?=\W*All\s+rights\s+reserved)|[^.]*(?=\.)|.*)

Я думал, что это будет соответствовать всему после года и до следующей точки, хотя, когда я попробую это с:

Copyright © 2016 Metasystems. Поставщик ПО ERP. Все права Зарезервировано.

Соответствует: "Metasystems. Поставщик программного обеспечения ERP"

Как я могу изменить его так, чтобы он соответствовал «Метасистемам» в этом случае и все еще работал правильно для всех примеров из предыдущего вопроса?

1 Ответ

0 голосов
/ 20 марта 2019

Если после первого названия компании вы не хотите использовать точку с чем-либо после нее, вы можете использовать это:

(?:©(?:\s*Copyright)?|Copyright(?:\s*©)?)\s*\d+(?:\s*-\s*\d+)?\s*([^\.\n]*?(?=\W*All\s+rights\s+reserved)|[^.\n]*(?=\.)|.*)

Я заменил .*? на [^\.\n]*?поэтому он будет принимать все, кроме точки и новой строки.

Смотрите это в действии здесь: https://regex101.com/r/Z707J0/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...