对我来说,这是关于正则表达式的最重要的问题,可能对其他一些人来说也是如此。
我很少使用正则表达式。但是,每当我不得不处理一些复杂的正则表达式时,我发现甚至很难找到要搜索的单词。
除了正则表达式之外,我想不出编程中我可能会被困在搜索中的任何其他事情。这些领域的许多问题,您的知识/技能太少,只需很少的搜索即可轻松解决。但在正则表达式的情况下无法做这件事
例如我有一个有效的表达
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)
这个具体问题已经解决了。实际问题是关于正则表达式的一般问题。
对于这样的问题,我只能想到两种解决方案
- 具备良好的正则表达式知识/技能/概念
- 去论坛问问。
在所有其他情况下,我通常在不阅读教程等的情况下从搜索中获得帮助,除了一些非常典型/独特/新型的技术。但是对于正则表达式,搜索似乎不是可靠的解决方案,因为它们大多是唯一的。是吗?如何?
这并不意味着我反对阅读教程。我为 Regex 做自己,也许比其他事情更多(因为我们在课程中没有充分阅读它们)但仍然面临问题