【发布时间】:2017-09-04 19:15:09
【问题描述】:
谁能告诉我如何编写包含 9 个数字的 PCRE 正则表达式,并且字符串最多可以包含单个数字的 5 个重复项。我找不到复制的约束。
我在sas中使用perl正则表达式
data regexp;
if _n_=1 then pattern=prxparse("~^(48|0|48|0048|)+[1-9]{1}+[0-9]{8}~o");
retain pattern;
set new;
if prxmatch(pattern,nr_tel) then flg=1; else flg=0;
run;
谢谢。 更重要的是: 我正在尝试获取前缀为 48 或不带前缀的 9 位数字。 (48|0|48|0048|) 这部分不适用于没有前缀。
【问题讨论】:
-
请添加通过/失败示例
-
这不是 Perl 代码。请edit您的问题用正确的语言标记。
-
目前还不清楚模式应该匹配什么,但正则表达式模式匹配可能不是解决这个问题的最佳方法。
-
这个怎么样:
^(?!.*?(\d)(.*?\1){5})\d{9}匹配"111112222"但拒绝"111111222"