Сравнение с шаблоном с помощью функции grepl () в R - PullRequest
2 голосов
/ 25 февраля 2020

Я запутался в приведенном ниже результате сопоставления с шаблоном, используя функцию grepl() -

grepl("[0-9]{2}-[0-9]{2}-[0-9]{2}", "2010-04-09") # TRUE
grepl("[0-9]{4}-[0-9]{2}-[0-9]{2}", "2010-04-09")  #TRUE

Разве я не должен ожидать, что первый результат будет FALSE?

Любой указатель будет высоко ценится.

1 Ответ

5 голосов
/ 25 февраля 2020

Результат верный.

grepl ищет шаблон xx-xx-xx, где x - это di git, и он появляется в первом запросе. Если вы хотите выполнить запрос, начиная с начала строки, вы можете использовать символ ^.

Например, если вы запустите grepl("^[0-9]{2}-[0-9]{2}-[0-9]{2}", "2010-04-09"), вы получите FALSE, но grepl("^[0-9]{4}-[0-9]{2}-[0-9]{2}", "2010-04-09") вернет TRUE.

PS: на противоположном конце $ указывает конец строки.

...