【发布时间】:2019-05-29 13:30:34
【问题描述】:
我需要一个公式从某个索引开始,然后得到接下来的 4 个连续数字。使用正则表达式。并测试它们是否在0000-4999的范围内。
^.{6}\d{4}$[0000-4999]
这是我尝试过的一些代码。虽然我还是新手,不懂正则表达式。
结果需要如下:
身份证号码:
9202204720082
获取以下4个数字:4720
从索引 7 开始(假设索引从 1 开始)
所以想要获取索引 7、8、9 和 10 的数字。 这样做是为了确定 ID 中的性别。
【问题讨论】:
-
你用
[0000-4999]做什么?使用^.{6}(\d{4})并获取第 1 组值 否则,如果您的正则表达式支持后向搜索,并且您需要通过各种方式获得整个匹配的结果,请使用(?<=^.{6})\d{4}。 -
如果你想使用锚点,
^\d{6}(\d{4})\d{3}$。[0000-4999]是一个字符类,与[012349]相同,但在字符串/行的末尾 -
我已将我的问题更新为更具体。
标签: regex string regex-group regex-greedy