2

这是在Java中:[1-57-9]

我今天遇到了这个正则表达式,我试图找出它的确切含义。有人能帮我一下吗?

4

4 回答 4

7

它允许数字 1-5 和 7-9。所以它相当于[12345789].

Pattern有关Java 中正则表达式的详细信息,请参阅文档,特别是“字符类”下的示例:

  • [abc]- a, b, 或c(简单类)
  • [^abc]a- 除, b, 或c(否定)以外的任何字符
  • [a-zA-Z]-a通过zA通过Z,包括(范围)
  • [a-d[m-p]]-a通过d,或m通过p:([a-dm-p]联合)
  • [a-z&&[def]]- d, e, 或f(交叉点)
  • [a-z&&[^bc]]-a通过z,除了bc:([ad-z]减法)
  • [a-z&&[^m-p]]-a通过z,而不是m通过p:([a-lq-z]减法)

另请参阅regular-expressions.info网站及其关于字符类的部分

于 2013-02-16T13:59:44.920 回答
2

[1-57-9]作“1 到 5 或 7 到 9”

它匹配 1、2、3、4、5、7、8、9 中的数字。

于 2013-02-16T14:00:26.677 回答
2

它只是一个字符类,指定您可以匹配范围内的单个数字:1 到 5 和 7 到 9。

于 2013-02-16T14:00:42.447 回答
0

它表示以下字符之一:1,2,3,4,5,7,8,9

于 2013-02-16T14:00:10.470 回答