Java根据正则生成随机字符串
regex="^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$"
?
調研了下,目前有5種開源工具:
①import com.mifmif.common.regex.Generex;
?? ?at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
?? ?at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
?? ?at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
?? ?at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
?? ?at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
?
這種對于特別復雜的正則表達式容易報錯:
②regex
這種對于特別復雜的正則表達式也容易報錯
?
?③
import net.moznion.random.string.RandomStringGenerator;④
import br.com.six2six.bfgex.RegexGen; import net.moznion.random.string.RandomStringGenerator;public class regx_generate_check {public static void main(String[] args) throws Exception{RegexGen.of("^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$"); //return zori873}}?
⑤,mutrex
java -jar mutrex.jar "([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)"
?
?總結:
java的自動生成滿足正則的隨機字符串的開源工具都不再維護,
且功能上存在一些bug,無法應對相對復雜的正則表達式。
?
PS:
如果采用Python
regex="^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$"from xeger import Xeger _x = Xeger() for i in range(20):testStr = _x.xeger(regex)print(testStr)i+=1?
myp@v.vb
xu8@avzznw.jz.vw
u.@nqk9a.ja
34jj1T@9ww18x0sp.tr.hl
56Ogbz@9h3rqzu957.ziy.mi
VlCfR1xWXz@y4.vwn.vr
a@hnc4.esi.hl
3z_UndGp@yrown0jh8k.lk
O1jkiS_s@6ov.ati.uj
AQtn-bmW@or25.ca
b-e0c@3zm4g24.hku
bM@k8wm9kxlx5.nu.em
v-@kk861qe.qg
ufzz4v@z7zcn8zwft.gn
LIJnXy558F@88.vrk
SY4WIXOxx@hpxsax.rrg
L36HE70@b3e65d5.ixh.rq
S@drfa5.hxa.fj
tR6@nd.mff
q.V@3ri.ss.ya
總結
以上是生活随笔為你收集整理的Java根据正则生成随机字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 皖事通核酸检测预登记怎么弄
- 下一篇: cad看图王app怎么切换模型和布局(如