【问题标题】:Generating strings from regular expression in JavaScript从 JavaScript 中的正则表达式生成字符串
【发布时间】:2014-02-04 14:39:18
【问题描述】:

我认为这可以通过使用蛮力生成字符串然后尝试将它们与提供的正则表达式匹配并在匹配时打印来完成。

但是有没有更好的方法来做到这一点?

正则表达式用于测试字符串是否匹配模式。 我知道这一点。我认为这样做会很有趣。

【问题讨论】:

  • Higher Order Perl has a section discussing this problem。出于其他原因,它也值得一读。
  • 你要解决什么问题,有什么问题?
  • 没有内置的方法可以从 JavaScript 中的正则表达式生成匹配字符串。您必须编写代码才能做到这一点,而且肯定有比生成随机字符串并查看它们是否匹配更好的方法来做到这一点。然而,这是一个不平凡的问题。
  • 我希望生成匹配正则表达式的字符串。

标签: javascript regex


【解决方案1】:

如果您使用的是 JavaScript,Randexp 会生成与给定正则表达式匹配的随机字符串。

Releases for browser

【讨论】:

  • Randexp 从正则表达式中只生成一个随机字符串。要生成所有可能的匹配项,您可以改用genexp.js
【解决方案2】:

使用randexp.js,它完全符合您的要求:

console.log(new RandExp(/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}$/).gen());
console.log(new RandExp(/^[0-9]{4}$/).gen());
console.log(new RandExp(/^[0-9,A-Z]{4}$/).gen());
console.log(new RandExp(/^([A-Z]){5}([0-9]){4}([A-Z]){1}$/).gen());
<script src="https://github.com/fent/randexp.js/releases/download/v0.4.3/randexp.min.js"></script>

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    相关资源
    最近更新 更多