使用正则表达式怎么生成随机数

  介绍

使用正则表达式怎么生成随机数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

安装

git  clone  https://github.com/GitHub-Laziji/reverse-regexp.git   cd  reverse-regexp   mvn 安装 & lt; dependency>   & lt;才能groupId> org.laziji.commons</groupId>   & lt;才能artifactId> reverse-regexp</artifactId>   & lt;才能version> 1.0 -snapshot   & lt;/dependency>

<强>使用 <强>

<强>随机字符语法

支持大部分正则表达式的匹配语法

<李>

\ d数字,相当于[0 - 9]

<李>

\ w数字,字母加下划线,相当于[0-9a-zA-Z_]

<李>

\ s空白字符,只包含空格和制表符

<李>

。除\ n和\ r以外的任意字符,生成随机字符时只在ascii码0 ~ 255之间生成

<李>

[a-zA-Z甲乙)区间,不支持^语法

<李>

以及其他字符

<强>重复打印语法

与正则表达式的重复匹配语法相同

<李>

?随机生成0个或1个字符

<李>

*随机生成0个以上字符,默认最多16个

<李>

+随机生成1个以上字符,默认最多16个

<李>

{n}生成n个字符

<李>

{n}随机生成n ~个字符,默认最多马克斯(16 n)个

<李>

{n, m}随机生成n ~ m个字符

<强>其他语法

<李>

|或语法,例如aaa bbb | | ccc随机生成aaa或bbb或ccc,概率相等

<李>

()支持括号

public  class  MainTest  {      @Test才能   public 才能;void 测试(),throws  RegexpIllegalException,, UninitializedException, TypeNotMatchException  {   ,,,,   ,,,随机(“\ \ w {6、12} @ {3} \ \ [a-z0-9]。(com | cn)“,,“邮箱“);   ,,,随机(“1 (3 | 5 | 7 | 8)\ \ d{9},,,“手机号“);   ,,,随机(“- ? (1 - 9)\ \ * \ \ . \ \ d +“,,“浮点数“);   ,,,随机(“https://[\ \ w -] + (\ \ [\ \ w -] +) {1,2} (/[\ \ w -] {3、6}) {0, 2} (\ \ ? [\ \ w_] {4 6}=[\ \ w_] {4 6} (, [\ \ w_] {4 6}=[\ \ w_]{4 6}){0, 2}) ?“,,“网址“);   ,,}   ,,   private 才能;void 随机(String 表达,String 标题)   ,,,,,throws  RegexpIllegalException,, TypeNotMatchException, UninitializedException  {   ,,,,   ,,,System.out.println(时间+ title “,“, +,表达式);   ,,,Node  Node =, new  OrdinaryNode(表达式);   ,,,Pattern  Pattern =, Pattern.compile (node.getExpression ());   ,,,for  (int 小姐:=,0;,小姐:& lt;, 10;,我+ +),{   ,,,,,String  data =, node.random ();   ,,,,,System.out.println (“[,, +, pattern.matcher(数据).matches(), +,“],“, +,数据);   ,,,}   ,,,System.out.println ();   ,,}      }

输出
邮箱\ w {6、12} @ {3} \ [a-z0-9]。(com | cn)
(真正的)19 cz8eisna@9je.com
(真正的)xpv3wJ@i3h.cn
(真正的)6 qdufy@1g9.com
(真正的)iVnZSMA373@6zd.cn
(真正的)I5wiX97@ffe.cn
(真正的)mwqA5sXQ@g8j.cn
(真正的)HUXiCem1Y0w@j98.cn
(真正的)1 joqwself@u1o.cn
(真正的)_Q4QTvxPeMFh@bds.com
(真正的)3 xfh33aa@6lh.cn

手机1号(3 | 5 | 7 | 8)\ d {9}
[事实]18263364656
[事实]18263364656
[事实]17452542895
[事实]17452542895
[事实]13441385631
[事实]13441385631
[事实]18651247283
[事实]18651247283
[事实]18595798569
[事实]18595798569

浮点数- ? (1 - 9)\ d * \。\ d +
(真正的)8148340336.1501586550282701
(真正的)-3339660539.406
(真正的)-51.6120243661611419
(真正的)-731621835440468.9708278
(真正的)-27438753435.9137579
(真正的)393811376.777268751417
(真正的)3286498432415.3962664603
(真正的)-5299652275.9
(真正的)216.93676279820770
(真正的)34.36843273

网址https ?://(\ w) + (\ [\ w -] +) {1,2} (/(\ w -] {3、6}) {0, 2} (\ ? [\ w_] {4 6}=[\ w_] {4 6} (, [\ w_] {4 6}=[\ w_] {4 6}) {0, 2}) ?
[事实]https://a_fl。thx/4 _4
[事实]http://v3YTuJ0Gu-5z8。JGhpdLe/V2j ndL-UO
[事实]https://FuMG-gafEc。R2FRRtLyX/ahg
[事实]https://5phYVK9.wh7vl9z3AAZVg。z-yQSiMTdQw8S9 -/西九
[事实]https://T9dntbI.4Su8vxYhCr6?T85gV=R6TYtm& 1 c97x=nCTyA5
[事实]http://qHyDgqBtYwq6Stg8.I6gb-M_ripkiEafK?ZLxy=Itny& RmsTX=X7KEuW& bwuk2=frcjO6

使用正则表达式怎么生成随机数