正则表达式逻辑

时间:2010-02-01 13:57:02

标签: regex

正则表达式看起来很麻烦,在尝试构建它时总会让我发疯。我最终寻求帮助。但是一旦得到结果,它看起来真的很酷。大师,有没有办法去解决它。

10 个答案:

答案 0 :(得分:3)

Yuo可以从Regular-Expressions.info的教程开始,这提供了一个很好的起点。这里的参考也是非常有价值的,因为正则表达式引擎如何在幕后工作。

实际上,基本面并不难理解,一旦你拿到它们并不太难。然而,阅读复杂的正则表达式更像是一种神秘的艺术;它很快就会变得非常笨拙。

答案 1 :(得分:3)

不确定你的意思是“分手”,但这里有几个正则表达式的教程:

The absolute bare minimum every programmer should know about regular expressions

Extreme regex foo: what you need to know to become a regular expression pro

Regulator是一款优秀的免费工具,可帮助您编写正则表达式。

答案 2 :(得分:2)

做网络开发我必须做很多验证。我通常在某处的标签中打开http://www.regexpal.com/。该网站结合教程,结合要解决的具体问题是我学习的方法。

答案 3 :(得分:1)

学习正则表达式需要你开始思考一点不同。语法并不重要,了解正则表达式是一种描述模式的方法至关重要。当然你必须考虑到你向某人(一台机器)解释它本身相当愚蠢,所以你必须非常彻底而且不要假设任何东西。

示例:你不会找一个单词,你会找到一个你知道可以在一个单词中的字符序列。你知道,但机器没有,所以你必须具体(好吧,有快捷方式,但这不是重点)。

因此,要学会以性格为中心而不是自然语言中熟悉的抽象概念,最重要的是练习。

我不会添加链接,因为在其他答案中已经提到过。祝你好运,regexp很有趣!

答案 4 :(得分:1)

通过阅读马克·多米努斯的How Regexes Work,学会像机器一样思考。有关更多信息,请与Jeffrey Friedl一起使用Mastering Regular Expressions

答案 5 :(得分:1)

已发布的几个答案提供了非常好的RegEx资源材料。 但是,在尝试之前要记住的最重要的事情之一 成为RegEx的主人是 RegEx 不适合所有类型的匹配问题

例如,大多数HTML都不能 使用RegEx在一般意义上解析。我在SO上看到了很多问题 人们正在努力将RegEx用于不适当的行为 情况 - 它让我疯狂地看到它!

我的建议是首先了解RegEx适合使用的位置和位置 它不是。仅此一项就可以节省数小时(数天)的挫折感。

RegEx的局限性是使用有限状态机而没有 一堆。要意识到的重要一点是RegEx没有 使用下推式堆栈“记住”它遇到的事情。这个 只要模式匹配过程只需要知道就不是问题 根据它到目前为止匹配的内容和它的内容,接下来的位置 “看到”作为传入文本。这种策略足以匹配非常复杂的 字符串。但是,它不适合匹配过程的情况 需要:

  • 跳过由嵌套分隔符分隔的输入块(如XML,HTML和大多数 编程语言语法)
  • 将一些“事物”与相同数量的“事物”相匹配 当“事物”被其他东西分开时。换句话说,不要 尝试计算一些模式的出现次数,跳过一些东西,然后 然后匹配先前的模式。有时它可以完成 - 但期待艰难的旅程!

换句话说,如果你需要递归地思考匹配任何东西, 不要与RegEx一起去那里。递归需要内存,RegEx不太记得!

RegEx的一些实现已被扩充以处理一些有限的 重复的类型 但你必须“知道”你的RegEx版本才能找到答案 具体限制(扩展)是。

答案 6 :(得分:0)

此工具可能有所帮助:http://www.gskinner.com/RegExr/

答案 7 :(得分:0)

我无法完全理解你的问题,但是如果你正在寻找一个好的,更容易的教程来紧紧抓住正则表达式phpro.org has a great tutorial about it

答案 8 :(得分:0)

这是我最喜欢的注册网站regexlib

答案 9 :(得分:0)

我建议Expresso。 30天后需要注册,但完全免费。它带有一个正则表达式库,包括作者的30 minute regex tutorial

RegexBuddy是另一种流行的工具,但它不是免费的。您可以查看一些demos here

我建议您浏览到目前为止提到的教程和其他有用的网站。从简单的模式开始并理解它们,然后继续前进。一开始这很棘手,你需要了解设计与之匹配的模式需要注意的事项。

@gbacon提到了最受欢迎的书,所以我再也不提了。最近有好评的是Regular Expressions Cookbook