gpt4 book ai didi

.net - 生成匹配给定正则表达式的随机序列

转载 作者:行者123 更新时间:2023-12-05 00:39:42 24 4
gpt4 key购买 nike

拥有任意正则表达式如何生成匹配(或不匹配)给定正则表达式的随机文本序列?我对理论和实际使用都很感兴趣(在 .NET 的上下文中需要它来改进我的测试),因此对文章或现有库的链接将不胜感激。

最佳答案

从纯理论的角度来看,正则表达式等价于有理语言,它们是在以下基础上构建的:

  • {} (一种没有文字的语言)是理性的。
  • {a} (一种具有单个单词字母的语言)是理性的。
  • LM是两种有理语言,那么它们的联合(在 LM 中的词)是有理的。
  • LM是两种有理语言,然后它们的串联 LM (通过将来自 L 的单词添加到来自 M 的单词构造的单词)也是合理的。
  • L是理性语言,则L* (通过连接来自语言 L 的任意数量的单词构造的单词)也是合理的。

  • 这种构造方法补充了正则表达式识别/匹配方法,并有助于递归构建匹配表达式的单词:
  • make({}) = ""
  • make({a}) = "a"
  • make(A|B) = flip-coin ? make(A) : make(B)
  • make(AB) = make(A) + make(B)
  • make(A*) = flip-coin ? "" : make(A) + make(A*)
  • 关于.net - 生成匹配给定正则表达式的随机序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4364235/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com