我尝试了一些正则表达式工具,如Regulator,Regulazy&使用RegexBuddy。他们没有做我想做的事情,他们希望用户知道正则表达式。
我想要一个傻瓜工具。你告诉我需要一个正则表达式的工具,例如“匹配以'是'结尾的任何内容,并且它至少包含一个短语'/ test /'”,它会为你创建正则表达式。
所以我要么用简单的英语或半简单的英语输入我的请求,要么工具有各种现成的选择,我在它们之间做出选择以创造我想要的特别的。
是否有针对非开发人员的工具?我不是在寻找一个正则表达式测试器。
答案 0 :(得分:14)
我一直是Ultrapico's Expresso申请的粉丝。有一个构建器部分可以帮助您(一点点)构建表达式的片段。更重要的是,它将逐段解释现有表达式(您自己的或来自内置表达式库)。
它还包括一个测试和替换部分,用于查看和测试您的表达式。最后,它将生成为C#,C ++或VB.NET格式化的表达式,以便您确切知道如何将表达式插入到项目中。
最重要的是它是免费的。我一直在使用这个工具来帮助学习正则表达式的实际工作方式,尤其是复杂的表达式。不能说这使得写作表达方式傻瓜证明,但它确实使我的学习表达更容易......
此工具由Zain Naboulsi在MSDN Webcast中展示,可能值得一看。希望这对你的正则表达式旅程有所帮助,祝你好运!
答案 1 :(得分:9)
txt2re似乎非常好。我在框中输入了“此字符串包含测试并以”结尾“,单击test
和yes
,
got 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)
答案 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
之类的输入来测试生成的正则表达式,它会显示生成的正则表达式与您的期望文本匹配。