Я пытаюсь найти названия видов (также называемые биномальными именами или линнеевскими именами), такие как «Homo sapiens», используя регулярное выражение. Правила должны быть такими: два слова, первое слово начинается с заглавной буквы, второе - нет; содержит только буквы, но без цифр, дефисов и других символов. Моя наивная реализация: binomal <- "([A-Z]{1}[a-z]{2,}[:space:][a-z]{2,})"
Он действительно находит такие имена, но также дает положительные результаты (с функцией R grep
), когда я их не ожидаю, например, в этой строке текста: " Япония, Китайское море, в Австралию "
Есть предложения?
Изменить: спасибо за ваши предложения. Я должен уточнить две вещи: во-первых, каждое слово должно состоять как минимум из двух символов (т.е. «A b» не должно фиксироваться). Во-вторых, я на самом деле пытаюсь использовать это, чтобы найти такие биномиальные имена в файле html. Следовательно, опасения JvdV по поводу якорей, к сожалению, верны ... Вот небольшой отрывок из моего файла html:
<tr>
<td height="60"> </td>
<td colspan="3"><div align="center"><em>Anadara grandis</em> (Broderip & Sowerby, 1829)<br />
B_ARCI_012 W. Mexico 125mm</div></td>
Вот пытаюсь поймать "Anadara grandis"