代码之家  ›  专栏  ›  技术社区  ›  rafek

如何掌握正则表达式?[关闭]

  •  30
  • rafek  · 技术社区  · 16 年前

    我想提高我的正则表达式知识。你有什么可以推荐的练习/工具吗?

    24 回复  |  直到 6 年前
        1
  •  42
  •   Baig    7 年前

    我用 Mastering Regular Expressions 来自奥莱利。

    enter image description here

        2
  •  20
  •   MrBoJangles hugomg    6 年前

    以下是一些很好的资源:

    http://regexlib.com/

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

    我最新的最爱, https://regex101.com/ . 太棒了!真的,这些天他们让事情变得太简单了。

        3
  •  18
  •   Haacked    16 年前

    我强烈推荐阅读 Mastering Regular Expressions . 它名副其实。

        5
  •  13
  •   Forgotten Semicolon adrianm    16 年前

    regular-expressions.info 是一个很好的网站,而且 RegexBuddy 是一个很好的可视化工具。

        6
  •  9
  •   Galwegian    16 年前

    开始使用 RegExBuddy !

        7
  •  9
  •   Vivek    16 年前

    掌握正则表达式的最佳方法是 在日常工作中使用它们 . 使用支持regex的编辑器。我推荐 NotePad++ . 使用启用regex的查找和替换功能。

    你只需要知道基本的开始。单词、字符、数字、空格。 它们很容易记住。你不是第一次就把事情做好了。但你每次尝试都会学到。

    记住,除非你经常使用它,否则你可能会在几周内忘记regex。

        8
  •  7
  •   Community CDub    8 年前

    要掌握它们,不要停下来读它们。下表 posts tagged regex 开始解决问题。在准备好之前不要偷看答案。

        9
  •  7
  •   Gordon Bell    16 年前

    表情 是一个很好的免费regex实用程序:

    http://www.ultrapico.com/Expresso.htm

    和A 正则表达式备忘表 这很方便:

    http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/

        10
  •  6
  •   warren    13 年前

    我保留了一份 Regular Expression Pocket Reference 在我工作的时候,它给了我一些简短的信息,我需要在手头的十几种语言中使用regex。

        11
  •  4
  •   thmsn    16 年前

    正如Joe90所提到的,阅读它们需要花很长的时间;)

    我个人发现 http://www.regular-expressions.info/ 是一个很好的资源。

        12
  •  4
  •   Gaurav    16 年前

    练习,练习,练习。我总能找到 Perl's manual page on regular expressions 对于所有常见的和posix regex符号和命令都是一个很好的参考。

        13
  •  4
  •   simon    16 年前

    除了那些已经提到的,你可以尝试 Regex Coach . 我听说了一些好消息。

        14
  •  4
  •   simon    16 年前

    现在,我们已经给出了很多关于正则表达式学习的指针,这可能值得引用Jamie Zawinski:

    有些人在遇到问题时会想:“我知道,我会用正则表达式。”现在他们有两个问题。

    学习正则表达式的一部分是学习何时不使用它们(以及何时它们合适)。

        15
  •  4
  •   Keng    16 年前

    正如西蒙指出的。掌握regex最重要的部分是何时不使用regex,但最终会有这种技能出现。在这之前,当你做Word查找、Fave文本编辑器或Excel时使用regex。任何给你这个选择的地方,都要接受它,直到你对它有一个好的处理。

    另外,在相当早的时候就了解这些概念。

    • 贪婪的
    • 懒惰的
    • “.”和“\w”的区别是什么?
    • “\b”
    • 短手字符类(“\s”、“\d”等)
        16
  •  2
  •   Paul Nathan    16 年前

    Perl+Roberts Perl教程是我大部分regex能力的来源。

        17
  •  2
  •   Joe Ratzer    16 年前

    阅读它们是很好的,但实际上获得一个工具的实践经验是非常有帮助的。

    试试调节器- http://weblogs.asp.net/rosherove/pages/tools-and-frameworks-by-roy-osherove.aspx

        18
  •  2
  •   MattG    16 年前

    我通过学习Perl并使用它创建一个配置文件解析器来了解它们。如果你现在想做类似的事情,我建议你用Ruby,它有一个类似的钩子来钩住Re。一旦我学习了基础知识,我发现我使用的许多工具都有很好的支持,如果你知道要使用它的话。它真的很强大。

    我强烈推荐其他人提到的正则表达式袖珍引用。像你需要做的那样,保持在周围快速查找某个东西会简单得多。更不用说,许多应用程序在实现它的某些部分时有一些稍微不同的方法(即,是否需要反斜杠转义括号)。

    如果你做了很多文字处理,我建议你重新学习。你会感激的。

        19
  •  2
  •   Jeremy Cantrell    16 年前

    确保你了解基础知识。您可以从各种来源(取决于您对regex口味的选择)获得此功能。

    你可以和他们一起玩 this .

        20
  •  2
  •   Craig    16 年前

    你永远不能掌握正则表达式。当你认为你已经意识到是正则表达式掌握了你。

        21
  •  2
  •   CheeseConQueso    16 年前

    http://www.gskinner.com/RegExr/

    是我在浏览其他网站后发现的东西吗?

        22
  •  1
  •   Windows programmer    16 年前

    在杰夫·弗里德尔之前,先把他书中的虫子修好。在你这样做之前,你还没有掌握正则表达式。

        23
  •  1
  •   Draemon    16 年前

    我发现了解他们是如何在幕后实施的真的很有帮助。实际上,我第一次遇到regex是在学习语言和编译器设计。知道它们来自哪里,以及它们与语法、dfas、lexer等的关系,我认为这是一个真正的帮助。它特别有助于调试,因为可以这么说,您可以进入regex的思想。

        24
  •  0
  •   davic    16 年前

    如果你在.NET工作,我建议你 this site 以可视化结果并查看如何设置代码。