方案中的正则表达式

时间:2014-12-15 01:52:48

标签: scheme racket

当我需要检测一个由两位数分隔的-时,我对正则表达式在方案中的工作原理感到困惑。

#px"[[:digit:]]-"

是我如何找到一个跟着-的数字,但是当我尝试做错时我会收到错误

#px"[[:digit:]-[:digit:]]"

1 个答案:

答案 0 :(得分:2)

字符类每边都有两个方括号。在第二个表达式中,字符类的每个内侧只有一个方括号。你需要这样做:

#px"[[:digit:]]-[[:digit:]]"

另一方面,使用完整的POSIX字符类只是为了匹配数字有点冗长。由于它很常见,您只需使用\d来匹配数字即可。只记得逃避反斜杠:

#px"\\d-\\d"