易于使用的正则表达式创建工具?

时间:2009-02-05 06:43:46

标签: regex

我尝试了一些正则表达式工具,如Regulator,Regulazy&使用RegexBuddy。他们没有做我想做的事情,他们希望用户知道正则表达式。

我想要一个傻瓜工具。你告诉我需要一个正则表达式的工具,例如“匹配以'是'结尾的任何内容,并且它至少包含一个短语'/ test /'”,它会为你创建正则表达式。

所以我要么用简单的英语或半简单的英语输入我的请求,要么工具有各种现成的选择,我在它们之间做出选择以创造我想要的特别的。

是否有针对非开发人员的工具?我不是在寻找一个正则表达式测试器。

14 个答案:

答案 0 :(得分:14)

我一直是Ultrapico's Expresso申请的粉丝。有一个构建器部分可以帮助您(一点点)构建表达式的片段。更重要的是,它将逐段解释现有表达式(您自己的或来自内置表达式库)。

它还包括一个测试和替换部分,用于查看和测试您的表达式。最后,它将生成为C#,C ++或VB.NET格式化的表达式,以便您确切知道如何将表达式插入到项目中。

最重要的是它是免费的。我一直在使用这个工具来帮助学习正则表达式的实际工作方式,尤其是复杂的表达式。不能说这使得写作表达方式傻瓜证明,但它确实使我的学习表达更容易......

此工具由Zain Naboulsi在MSDN Webcast中展示,可能值得一看。希望这对你的正则表达式旅程有所帮助,祝你好运!

答案 1 :(得分:9)

txt2re似乎非常好。我在框中输入了“此字符串包含测试并以”结尾“,单击testyesgot a regular expression。它不专注于教授如何构建正则表达式,但它向您展示了解析所需内容的perl代码。

此工具的真正强大之处在于它能够识别日期,URL和标记等内容。然而,空白似乎没有太好用,并且它似乎没有处理任何类型的重复。

答案 2 :(得分:9)

我个人非常喜欢Expresso http://www.ultrapico.com/Expresso.htm 界面非常干净 - 让你测试搜索和替换功能,有很好的帮助,如果你愿意,还可以为你生成C#表达式。

答案 3 :(得分:3)

对我来说,最好的工具是RegexBuilder它是开源的并且用C#编写,所以你可以根据需要自定义它;)

享受。 ;)

答案 4 :(得分:2)

对于基于网络(仅限一行):http://txt2re.com/

离线(可以使用全文文件):Expresso

答案 5 :(得分:2)

我最喜欢自己的RegEx Builder:http://www.linuxintro.org/regex

答案 6 :(得分:1)

我不确定这样的工具是否存在,因为他们通常会做相反的事情:
分析正则表达式并用简单的英语翻译。

最符合您需求的解决方案是C# library,允许您以半可读的方式编写regexp:

而不是:

const string findGamesPattern = 
@"<div\s*class=""game""\s*id=""(?<gameID>\d+)-game""(?<content>.*?)<!--gameStatus\s*=\s*(?<gameState>\d+)-->";

你可以使用ReadableRex:

Pattern findGamesPattern = Pattern.With.Literal(@"<div")
    .WhiteSpace.Repeat.ZeroOrMore

    .Literal(@"class=""game""").WhiteSpace.Repeat.ZeroOrMore.Literal(@"id=""")

    .NamedGroup("gameId", Pattern.With.Digit.Repeat.OneOrMore)

    .Literal(@"-game""")

    .NamedGroup("content", Pattern.With.Anything.Repeat.Lazy.ZeroOrMore)

    .Literal(@"<!--gameStatus")

    .WhiteSpace.Repeat.ZeroOrMore.Literal("=").WhiteSpace.Repeat.ZeroOrMore

    .NamedGroup("gameState", Pattern.With.Digit.Repeat.OneOrMore)

    .Literal("-->");

答案 7 :(得分:1)

我也在使用Expresso,发现它非常好。在这些工具中,对我来说最重要的是验证,而不是构建表达式的视觉辅助工具。我只需要一种工具来提醒我的东西,而不是为我设计它们。

无论如何,这是另一个免费的,我非常喜欢。它被称为Rad Software Regular Expression Designer。希望这会有所帮助。

答案 8 :(得分:1)

尝试RegExr基于Flash的工具

答案 9 :(得分:0)

如果你是一个mac人,试试这个小部件,虽然它也是一个测试人员,我觉得它非常有用,因为在学习regex在线时很容易找到它

http://mac.softpedia.com/progDownload/Regex-Widget-Download-28467.html

答案 10 :(得分:0)

我决定RegexBuddy。它有一个调试器,可视化工具,并将正则表达式翻译成简单的英语。

答案 11 :(得分:0)

嗯,它仍然是开发中的一个工具,但您可以在http://www.textpression.com上尝试Textpression。披露:我是作者。

Textpression可以使用拖放编辑器创建可视正则表达式;没有正则表达式语法学习!在撰写本文时,Textpression仍处于Alpha状态,但让我知道您的想法!

答案 12 :(得分:0)

直观的正则表达式分析器和编辑器类(适用于 PHP Node / JS Python ),{ {3}}

regex composer live example here

ps我是作者

答案 13 :(得分:0)

根据您问题中的详细信息,我认为 Regex Builder Tool 正是您需要的工具。 对于您提出问题的正则表达式,您可以用简单的英语给出要求,例如 _Match_anywhere_in_text_ _zero_or_more_of_ ( _any_character_) _then_ _one_or_more_of_ ( _exact_string_ ( test)) _then_ _zero_or_more_of_ ( _any_character_) _then_ _exact_string_ ( yes) _then_ _end_of_line_

这会自动生成正则表达式 .*test+.*yes$ 您还可以使用 I did test, results yes 之类的输入来测试生成的正则表达式,它会显示生成的正则表达式与您的期望文本匹配。