如何搜索(谷歌)正则表达式

时间:2012-09-22 16:31:46

标签: regex

对我而言,这是关于正则表达式的最重要的问题,也可能适用于其他一些问题。

我很少使用正则表达式。但每当我必须处理一些复杂的正则表达式时,我发现很难找到搜索词。

除了正则表达式之外,我无法想到编程中的任何其他东西,我可以坚持搜索。这些领域的许多问题,你的知识/技能太少,很容易通过少量搜索解决。但是在正则表达式的情况下无法做到这一点

例如我有一个有效的表达式

Select * from sale  where Quantity < '10'  and Date <= curdate() and
Date >= date_sub(curdate(), interval 3 month)

我已经允许用户修改此查询但是在修改之后我想验证用户除了关系运算符和关系运算符之后的值之外什么都没有。正则表达式会像

Select .+ from sale  where Quantity [<|>|=|(<=)|(>=)] .+  and Date 
[<|>|=|(<=)|(>=)] .+ and Date [<|>|=|(<=)|(>=)] (string not containing any join)

这个具体问题已经解决了。关于正则表达式的实际问题是一般性的。

对于像这样的问题我只能想到两个解决方案

  1. 拥有正常表达的良好知识/技能/概念
  2. 在论坛上提问。
  3. 在所有其他情况下,我通常会在不阅读教程等的情况下从搜索中获得帮助,除了一些非常典型/独特/新类型的技术。但是搜索在正则表达式的情况下似乎不是可靠的解决方案,因为它们大多是唯一的。是吗?怎么样?

    这并不意味着我反对阅读教程。对于Regex而言,我自己也许比其他事情更多(因为我们在课程中没有阅读足够的内容)但仍面临问题

3 个答案:

答案 0 :(得分:1)

嗯,根据你的推理,有人可能会争辩说搜索SQL表达式是不可能的,因为数据库模式是唯一的,所以不会有命中。但它的实践效果很好。

您必须搜索概念和想法,而不是针对特定问题的实际解决方案。

当然,您必须了解基础知识。如果您不能命名您要查找的内容,则无法搜索它们。

对于您的示例,这是一个实用的搜索:https://www.google.co.uk/search?q=regexp+match+either+or首先点击:“正则表达式教程 - 与垂直条的交替”

答案 1 :(得分:1)

你可以做三件事:

  1. 在您面前打开正则表达式的正则表达式的正则表达式。
  2. 使用工具为您提供即时反馈并“演变”表达式,而不是尝试一次性构建它。我使用Regexpal因为它是免费的。
  3. 编写您自己的测试装备以试验不同的功能。

答案 2 :(得分:1)

您可以轻松地提出有关编程问题的问题,因为您了解基本概念:循环,函数,列表,哈希,模块,字符串,输入,输出,文件 - 您知道基本词汇,因此您知道如何编程问题

但是你没有从零开始获得这些知识 - 有一点你必须学习基础知识。这很容易忘记,因为你把它们视为理所当然。

使用正则表达式,需要学习许多新概念,一个新的词汇表。突然间,有新的词汇,如群体,变换,锚点,懒惰和贪婪量词,环视,原子分组,捕获等等......你不会学习新的词汇,这样你就可以提出有意义的问题。

让自己熟悉基本概念并不困难。使用一个体面的教程(http://www.regular-expressions.info),用你最喜欢的语言玩正则表达式,使用在线正则表达式测试人员...就个人而言,我每天都使用RegexBuddy学习几乎所有关于正则表达式的知识。 。来自StackOverflow。

你可以在这里询问基本的正则表达式问题,每天都有很多问题。通常情况下,只有那些显而易见的海报没有在其中投入大量精力。

相关问题