如何掌握正则表达式?

时间:2008-10-15 16:03:48

标签: regex

我想提高我的正则表达式知识。你会推荐哪些练习/工具?

24 个答案:

答案 0 :(得分:43)

我使用O'Reilly的 Mastering Regular Expressions

enter image description here

答案 1 :(得分:20)

以下是一些很好的资源:

http://regexlib.com/

http://www.regular-expressions.info/

我的新宠,https://regex101.com/。绝对精彩!真的,这些天他们太容易了。

答案 2 :(得分:18)

我强烈建议您阅读 Mastering Regular Expressions 。它名副其实。

答案 3 :(得分:15)

答案 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)

正如西蒙指出的那样。掌握正则表达式中最重要的部分是不使用正则表达式,但最终会达到这种技能。然后,当您正在进行Word查找时,或者在您的收藏短信或Excel中使用正则表达式。在任何能够为您提供该选项的地方,直到您掌握了它为止。

此外,请尽早了解这些概念。

  • 贪婪
  • 懒惰
  • “。”之间有什么区别。和“\ w”
  • “\ B”
  • 简写字符类(“\ s”,“\ d”等)

答案 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查看结果,并了解如何设置代码。