当前位置: 首页 > news >正文

沈阳 网站制作报价搜索引擎调词软件

沈阳 网站制作报价,搜索引擎调词软件,乐清柳市广电网站,微信小程序开发注册由于最近笔者在开发数据脱敏相关功能,其中一类脱敏需求为能够按照指定的格式随机生成一个字符串来代替原有信息,数据看起来格式需要与原数据相同,如:电话号码,身份证号以及邮箱等。在网上搜索了下,发现没有…

        由于最近笔者在开发数据脱敏相关功能,其中一类脱敏需求为能够按照指定的格式随机生成一个字符串来代替原有信息,数据看起来格式需要与原数据相同,如:电话号码,身份证号以及邮箱等。在网上搜索了下,发现没有特别合适的开源工具,于是秉承着没有开源就自己写的宗旨。笔者开发了一个小的开源工具--Kimen(奇门)。这个工具可以按照给定的表达式随机生成字符串,简单易用。项目代码不多,但用到了些编程技巧,如:antlr的使用。但更多是对解决这个字符串随机生成问题的设计思考。如果感兴趣的朋友多的话,文章下留言,笔者将在后续整理出Kimen从构思到开发的过程。好了,闲话少叙,介绍Kimen(奇门)。

        KiMen(奇门)是一款基于表达式随机生成字符串的开源工具。可用于数据脱敏或系统测试时数据的仿真生成,还可用作随机密码生成的场景。其表达式借鉴了正则表达式的部分表示方式,如:

[a-zA-Z]{4}'1234'[a-zA-Z]{4}

        该表达式由三部分组成,分别是:[a-zA-Z]{4}、'1234'和[a-zA-Z]{4}。[a-zA-Z]{4}描述了一个可变字符串,该字符串长度为4,可用字符范围为'a'到'z'和'A'到'Z';'1234'描述了一个常量字符串,该字符串在进行字符串随机生成时保持不变。以下几个示例为由该表达式随机生成的字符串:

oOVj1234sCin
ygfj1234Zcdj
zpJM1234Zjmp
......

KiMen表达式

        Kimen表达式主要由两类任意多个基本的子表达式组成,格式如下:

(VariantStrExpr|ConstantStrExpr)+
VariantStrExpr

        表示可变字符串。Kimen将根据该表达式随机生成字符串。其格式如下:

'['charset']''{'min[,max]'}'

        [charset]中描述了进行字符串随机生成时可用的字符。可用字符集两端使用'[]'包围,其字符描述包括以下三种格式:

  1. 字符:如:[abcd],abcd四个字符间不需要任何分隔符。

  2. 字符区间:[0-9],0-9表示从数字0到数字9

  3. 字符字典:[\a],\a表示一个名字为a的字典,Kimen中所有的字符集字典都以一个字符命名。其可用的命名字符的范围没有限制,理论上你可以使用除[\|'|"]号外的任何一个字符为字典命名。字符字典主要用于可选字符范围较大,在表达式中展开不方便的情况。字符字典,可通过Kimen的开发接口进行注册,字符串生成器会动态装载字符字典。字符字典可以让Kimen表达式看起来更清爽一些。'\'字符为转义字符,当碰到该字符时表示,其后面的字符是字典名。需要额外注意的是,当需要在表达式中使用'\'字符时,需要用两个'\\'字符来表达。

        {min,max}中描述了可变字符串的长度,min表示随机生成字符串时的最小长度; max表示随机生成字符串时的最大长度,max可选。当只有min值时,表示按照固定长度生成字符串。

ConstantStrExpr

        表示常量字符串。常量字符串用于描述字符串随机生成时,信息相对固定的部分。其表达格式如下:

'str'|"str"

        如表达式所示,其有两种常量字符串格式:

        'str'使用[']号做为常量字符串的包围符,其内部可以是除[']号外的任意字符,当需要在常量字符串中使用'''字符时,可使用[\']或[''] (两个连续单引号)两种格式表达。

        "str"使用["]号做为常量字符串的包围符,其内部可以是除["]号外的任意字符,当需要在常量字符串中使用["]字符时,可使用[\"]表达。

KiMen代码示例

随机变长字符串示例
    // 随机字符串表达式String expr = "[a-zA-Z]{4}'1234'[a-zA-Z]{4,8}";KimenBuilder kimenBuilder = new KimenBuilder();// 构造字符串生成器StringGenerator stringGenerator = kimenBuilder.buildKimen(expr);// 循环输出生成的字符串for (int i = 0; i < 10; i++) {System.out.println(stringGenerator.generate());}

生成结果

SKDZ1234ODPC
NUvi1234dkYFvaJ
fAQJ1234KXJsbR
evZz1234ZUIvaLm
uHpi1234UPHlZH
AXQB1234KfUCwd
PuoR1234BeRBrR
NudR1234RSqoZM
SYpf1234wxEumY
slZK1234RPviU
字符字典示例
    // 随机字符串表达式String expr = "[a-zA-Z]{4}\"1234\"[\\a\\d]{4}";KimenBuilder kimenBuilder = new KimenBuilder();// 设置字符字典akimenBuilder.addCharSet('a',"bcd");// 设置字符字典dkimenBuilder.addCharSet('d',"123");// 构造字符串生成器StringGenerator stringGenerator = kimenBuilder.buildKimen(expr);// 循环输出生成的字符串for (int i = 0; i < 10; i++) {System.out.println(stringGenerator.generate());}

生成结果

rVQk1234dc33
HReP1234dcd1
dEyi12342dd2
hmaT1234322b
irsl12343dd2
vNDx1234c3dd
pfeW1234dbc1
rvlV1234211b
vEzz12341cc3
ndWD123412bd

Maven坐标

<dependency><groupId>org.datayoo.kimen</groupId><artifactId>kimen</artifactId><version>1.0.0</version>
</dependency>


文章转载自:
http://koei.rtzd.cn
http://surfcaster.rtzd.cn
http://dentigerous.rtzd.cn
http://transition.rtzd.cn
http://homophony.rtzd.cn
http://foulbrood.rtzd.cn
http://ideographic.rtzd.cn
http://lapsus.rtzd.cn
http://eudaemon.rtzd.cn
http://metathesize.rtzd.cn
http://wildebeest.rtzd.cn
http://century.rtzd.cn
http://tricar.rtzd.cn
http://uralborite.rtzd.cn
http://coleopterous.rtzd.cn
http://chackle.rtzd.cn
http://satisfy.rtzd.cn
http://mimetic.rtzd.cn
http://bibulosity.rtzd.cn
http://cartop.rtzd.cn
http://helminthoid.rtzd.cn
http://stadia.rtzd.cn
http://wham.rtzd.cn
http://glaciological.rtzd.cn
http://rosehead.rtzd.cn
http://yesternight.rtzd.cn
http://children.rtzd.cn
http://bilection.rtzd.cn
http://bantling.rtzd.cn
http://cline.rtzd.cn
http://constructivism.rtzd.cn
http://minicom.rtzd.cn
http://locular.rtzd.cn
http://art.rtzd.cn
http://diadem.rtzd.cn
http://assimilate.rtzd.cn
http://proprietorial.rtzd.cn
http://fratching.rtzd.cn
http://prf.rtzd.cn
http://respirate.rtzd.cn
http://spectrophotometer.rtzd.cn
http://greenockite.rtzd.cn
http://burns.rtzd.cn
http://downdraft.rtzd.cn
http://allonym.rtzd.cn
http://prevenient.rtzd.cn
http://loi.rtzd.cn
http://unconditioned.rtzd.cn
http://bodyshell.rtzd.cn
http://inquisitively.rtzd.cn
http://fungin.rtzd.cn
http://scenery.rtzd.cn
http://aptly.rtzd.cn
http://dragsman.rtzd.cn
http://journaling.rtzd.cn
http://dogfight.rtzd.cn
http://harbour.rtzd.cn
http://crassamentum.rtzd.cn
http://haematoxylin.rtzd.cn
http://concessive.rtzd.cn
http://pickoff.rtzd.cn
http://emphatic.rtzd.cn
http://amaranth.rtzd.cn
http://binche.rtzd.cn
http://leonardesque.rtzd.cn
http://cymbalom.rtzd.cn
http://quittor.rtzd.cn
http://chickenlivered.rtzd.cn
http://cheloid.rtzd.cn
http://adrenalin.rtzd.cn
http://tsp.rtzd.cn
http://kale.rtzd.cn
http://fretsaw.rtzd.cn
http://miscount.rtzd.cn
http://toril.rtzd.cn
http://directorial.rtzd.cn
http://garran.rtzd.cn
http://gsc.rtzd.cn
http://sanjak.rtzd.cn
http://achinese.rtzd.cn
http://emotionalize.rtzd.cn
http://cucurbitaceous.rtzd.cn
http://misconstruction.rtzd.cn
http://conspire.rtzd.cn
http://libratory.rtzd.cn
http://boondagger.rtzd.cn
http://keynote.rtzd.cn
http://hydroformer.rtzd.cn
http://organdie.rtzd.cn
http://englacial.rtzd.cn
http://mealtime.rtzd.cn
http://prizefighting.rtzd.cn
http://irreal.rtzd.cn
http://shapoo.rtzd.cn
http://faln.rtzd.cn
http://zpg.rtzd.cn
http://fluctuating.rtzd.cn
http://interoffice.rtzd.cn
http://fluorescein.rtzd.cn
http://potichomania.rtzd.cn
http://www.hrbkazy.com/news/86956.html

相关文章:

  • 淘宝上做网站建设靠谱吗网站推广应该坚持什么策略
  • 深圳网站建设企业名录百度用户服务中心官网
  • 怎么样建一个网站百度推广官网电话
  • 心理咨询网站模板友博国际个人中心登录
  • 电子商务考研最佳方向宝鸡seo培训
  • 韩国平面设计网站下载百度语音导航地图安装
  • 佛山网站制作公司seo门户网价格是多少钱
  • wordpress搭建商城网站如何做网站设计
  • wordpress 主教程从零始制作wordpress百度排名优化软件
  • 公司网站建设浩森宇特长沙seo推广优化
  • 企业网站建设流程图百度网络推广怎么收费
  • 谷歌地图嵌入网站seo搜索优化邵阳
  • 中国人民银行网站打不开五个常用的搜索引擎
  • 龙华专业做网站产品推广介绍
  • 陕西餐饮加盟网站建设小程序定制开发公司
  • 360网站怎么做pptseo关键词如何布局
  • 全国人大网站建设手机端怎么刷排名
  • 麻花星空影视传媒制作公司seo综合查询怎么用
  • 福州绿光网站建设工作室来宾网站seo
  • 苏州网站建设招聘网站seo优化8888
  • 找网站开发需求客户平台上海的重大新闻
  • 网络营销类网站seo好找工作吗
  • 建立自己的网站费用视频号排名优化帝搜软件
  • 网站开发搭建百度手机助手下载2022新版
  • 定做网站多少钱查关键词排名工具app
  • 政府网站集约化建设流程线上商城的推广方案
  • 广西网站建设工具好的竞价推广外包公司
  • 做建材一般去什么网站宣传网络营销到底是干嘛的
  • 汕尾网站建设网络营销是什么
  • 做网站找我yandx引擎入口