我想提高我的正则表达式知识。你会推荐哪些练习/工具?
答案 0 :(得分:43)
我使用O'Reilly的 Mastering Regular Expressions 。
答案 1 :(得分:20)
答案 2 :(得分:18)
我强烈建议您阅读 Mastering Regular Expressions 。它名副其实。
答案 3 :(得分:15)
教程:
http://www.regular-expressions.info/tutorial.html - 关于正则表达式的一个很棒的教程
在线测试人员:
http://osteele.com/tools/reanimator/ - 它将你的正则表达式设为自动机,很酷!
http://regexpal.com/ - 非常酷且易于使用
http://www.fileformat.info/tool/regex.htm
工具:
http://www.radsoftware.com.au/regexdesigner/
.Net具体:
http://msdn.microsoft.com/en-us/library/az24scfc(VS.71).aspx
Java特定:
http://java.sun.com/docs/books/tutorial/essential/regex/
GeneXus X具体:
http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?4606
答案 4 :(得分:13)
regular-expressions.info是一个优秀的网站,RegexBuddy是一个很棒的可视化工具。
答案 5 :(得分:9)
开始使用RegExBuddy!
答案 6 :(得分:9)
掌握正则表达式的最佳方法是在日常工作中使用它们。 使用正则表达式感知编辑器。我推荐NotePad++。在启用正则表达式的情况下使用查找和替换功能。
您需要了解开始的基础知识。单词,字符,数字,空格。 它们很容易记住。你第一次没有把一切都搞定。但是每次尝试都会学到的。
请记住,除非您经常使用它,否则您可能会在几周内忘记正则表达式。
答案 7 :(得分:7)
Expresso 是一款非常好的免费RegEx工具:
http://www.ultrapico.com/Expresso.htm
一个正则表达式备忘单,它派上了用场:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
答案 8 :(得分:7)
要掌握它们,不要停止阅读它们。在posts tagged regex列表中,然后开始解决问题。在你准备好之前不要偷看答案。
答案 9 :(得分:6)
我在工作的时候随身携带了Regular Expression Pocket Reference的副本 - 它为我提供了关于使用RegEx的十几种语言所需的简短信息。
答案 10 :(得分:4)
现在我们已经提供了许多关于正则表达式学习的指针,可能值得引用Jamie Zawinski:
有些人在面对问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。
学习正则表达式的一部分是学习何时不使用它们(以及它们何时适用)。
答案 11 :(得分:4)
此外,请尽早了解这些概念。
答案 12 :(得分:4)
除了已经提到的那些,你可以尝试Regex Coach。我听说过这件好事。
答案 13 :(得分:4)
练习,练习,练习。我总是发现Perl's manual page on regular expressions是所有常见和POSIX正则表达式符号和命令的绝佳参考。
答案 14 :(得分:4)
正如Joe90所提到的,阅读它们需要很长的路要走;)
就个人而言,我发现http://www.regular-expressions.info/是正则表达式的绝佳资源。
答案 15 :(得分:2)
阅读它们很好,但实际上获得使用工具的经验确实很有帮助。
尝试监管机构 - http://weblogs.asp.net/rosherove/pages/tools-and-frameworks-by-roy-osherove.aspx
答案 16 :(得分:2)
Perl + Roberts Perl教程是我的大部分正则表达能力的来源。
答案 17 :(得分:2)
我通过学习Perl并使用它来创建配置文件解析器来了解它们。如果你想做类似的事情,我会建议Ruby,它有一个类似的RE挂钩。一旦我学会了基础知识,我发现许多我一直在使用的工具有很大的RE支持,如果你知道要使用它。这真的非常强大。
我强烈推荐其他人提到的正则表达式袖珍参考。保持快速查找某些内容会更加简单,就像您需要做的那样。更不用说许多应用程序实现它的某些部分的方式略有不同(即,是否应该使用反斜杠转义括号)。
如果你做了很多文字处理,我建议学习RE。你会很感激的。
答案 18 :(得分:2)
确保您了解基础知识。您可以从各种来源获得此信息(取决于您选择的正则表达方式)。
你可以在this之类的东西上玩它们。
答案 19 :(得分:2)
你永远无法掌握正则表达式。就在你认为你已经意识到这是掌握了你的正则表达时。
答案 20 :(得分:2)
http://www.gskinner.com/RegExr/
是我在浏览其他网站后找到的东西
答案 21 :(得分:1)
在他做之前修复Jeff Friedl的书中的错误。在你这样做之前,你还没有掌握正则表达式。
答案 22 :(得分:1)
我发现了解它们如何在引擎盖下实施真的有帮助。实际上我正在研究我第一次遇到正则表达式的语言和编译器设计。知道它们来自何处,以及它们与语法,DFA,词法分析器等的关系,我认为这是一个真正的帮助。它特别有助于调试,因为你可以直接进入正则表达式的思想。
答案 23 :(得分:0)
如果您使用的是.NET,我建议您this site查看结果,并了解如何设置代码。