正则表达式看起来很麻烦,在尝试构建它时总会让我发疯。我最终寻求帮助。但是一旦得到结果,它看起来真的很酷。大师,有没有办法去解决它。
答案 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没有 使用下推式堆栈“记住”它遇到的事情。这个 只要模式匹配过程只需要知道就不是问题 根据它到目前为止匹配的内容和它的内容,接下来的位置 “看到”作为传入文本。这种策略足以匹配非常复杂的 字符串。但是,它不适合匹配过程的情况 需要:
换句话说,如果你需要递归地思考匹配任何东西, 不要与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。