假设我有一个像这样的字符串:
id = "ce91ffbe-8218-e211-86da-000c29e211a0"
那么我应该写什么正则表达式(regex)来验证这个字符串是否为36个字符长,并且只包含字母、数字和破折号?
在R中如何使用字符范围(例如[0-9A-z-])与量词(例如{36})没有说明。无论量词是多少,下面的代码始终返回TRUE。我确定我错过了一些简单的东西...
只有当我在字符范围内添加0-9数字的检查时,才会出现这种行为。
id = "ce91ffbe-8218-e211-86da-000c29e211a0"
那么我应该写什么正则表达式(regex)来验证这个字符串是否为36个字符长,并且只包含字母、数字和破折号?
在R中如何使用字符范围(例如[0-9A-z-])与量词(例如{36})没有说明。无论量词是多少,下面的代码始终返回TRUE。我确定我错过了一些简单的东西...
id <- "ce91ffbe-8218-e211-86da-000c29e211a0"
grepl("[0-9A-z-]{36}", id)
#> [1] TRUE
grepl("[0-9A-z-]{34}", id)
#> [1] TRUE
只有当我在字符范围内添加0-9数字的检查时,才会出现这种行为。
^[0-9a-zA-Z-]{36}$
替代原来的表达式,原因是原来的表达式只匹配了字符串的一部分,所以会返回 true。 - 41686d6564 stands w. Palestine