regex - 匹配一个数字最多次数

标签 regex perl

我在 Perl 中有以下正则表达式,用于匹配其中包含 6 个或更少数字的字符串。但是,这也匹配超过 6 位数字的字符串。

$string =~/[0-9]{1,6}/

匹配:

  1. T12345#1
  2. 0897
  3. 112355501234

我希望正则表达式匹配前两个而不是最后一个。

最佳答案

使用否定前瞻来查看后面是否有数字,并使用否定后视,这样您就不会只匹配最后六位数字:

$string =~ /(?<!\d)\d{1,6}(?!\d)/

关于regex - 匹配一个数字最多次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695708/

相关文章:

regex - DFA->正则表达式

mysql,如何创建表并自动跟踪添加或删除行/表的用户

perl - 大阵列上的 grep 或拼接

perl - 如何将管道设置为 O_NONBLOCK perl

javascript - 使用正则表达式将 (,,,text,,4,text,3,,) 转换为 (text,4,text,3)

javascript - 正则表达式 - 从结果中删除方括号

java - JAX-RS @Path 可以指定长度要求吗?

javascript - getURLParameter 和 RegExp

正则表达式(PCRE 或 Emacs): Repetition of previously defined group

perl - 在 Perl 中合并哈希 : Special Case