当我需要检测一个由两位数分隔的-
时,我对正则表达式在方案中的工作原理感到困惑。
#px"[[:digit:]]-"
是我如何找到一个跟着-
的数字,但是当我尝试做错时我会收到错误
#px"[[:digit:]-[:digit:]]"
答案 0 :(得分:2)
字符类每边都有两个方括号。在第二个表达式中,字符类的每个内侧只有一个方括号。你需要这样做:
#px"[[:digit:]]-[[:digit:]]"
另一方面,使用完整的POSIX字符类只是为了匹配数字有点冗长。由于它很常见,您只需使用\d
来匹配数字即可。只记得逃避反斜杠:
#px"\\d-\\d"