产品经理连正则表达式都不懂怎么和开发火拼?

放心 文章没有代码
若干年前pony在腾讯产品暨技术峰会上就说过:“我们希望的产品经理是从技术晋升而来的。”技术是实施手段,产品最终还是要靠技术来实现,产品还是不能远离技术。那么不想通过枯燥的代码来理解正则表达式,本文通过鲜活案例给非技术背景的产品大爷扫扫盲。
如果你已经”知道“了正则表达式,那就没必要在这篇文章上浪费时间了,哦~或许可以点个关注再走=  =
下面直击主题,文首先不解释到底什么是正则表达式,因为本来就处于蒙圈的情况下再去看一些专业的解释就会更加的蒙圈。常见的注册登录时产品对手机号码规则进行校验是否有效、站内搜索的模糊匹配等等就是这个正则表达式所干的“事”

该死的产品经理又变更需求

下图中有3行文本
第一行 :hi 动物园园长
第二行:首席吹牛官 hello hi
第三行:hi 各位产品大爷
假设产品提出的需求是想搜索文本里面“hi”这个关键词并罗列出来,需求实现的简易方式可在任意可编辑文本的工具下摁下 Ctrl +F 搜索“hi”,结果如图所示,关键词“hi”一共有3处地方被检索出来。第一行与第三行位于行首,第二行位于行尾。不管“hi”在哪个位置图中的关键词“hi”都被我们检索出来,满足了我们的需求。
但如果该死的产品又改了需求呢?现在不仅仅想搜索”hi“,还要位于行首的”hi“,要同时满足2个条件。
此时只需要在支持正则表达式的编辑器的搜索框增加一个元字符 “ ^ ”(键盘中数字键6对应的符号),即可满足检索关键字 “hi” + 处于行首的需求,即只检索位于行首的关键字 “hi” 。可以看到下图 在搜索条件是 “ ^hi ” 的情况下仅检索出第一行和第三行,第二行的 “hi” 处于行尾并没有检索到。
到目前位置大家能够初步认知到什么是“正则表达式”,现在回过头再来解释“正则表达式”。
引用百度百科的描述: 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
现在文绉绉的解释是不是好理解了一些,使用正则表达式可以让我们表达某种规则和结果,比如刚刚的 “ ^ hi ” ,就是检索行首的 “hi” 。了解后我们在规划某种具有“检索”性质的功能/服务的时候想法也不会飘到天上,与研发沟通时也容易达成共鸣,否则就容易鸡同鸭讲。最后再强调一边方便理解可以把“正则”理解成“规则”,而正则表达式就是能够帮助我们表达出自己的想法和规则。

验证所输表单是否有效

除了检索外正则表达式也常用于做验证,譬如手机号码、邮箱、地址等字段检验用户的输入是否符合规则有效。大家都知道国内手机号码为11为数字,号码段为131-139、151~159等等如果用普通基于字面的字符来验证是不够的 ,这里引进一个新知识叫“字符簇”。每类字符理解成一个合集,比如“[a-z]” 是匹配所有的小写字母 。
同理“[A-Z] ”是匹配所有的大写字母 、“[a-zA-Z] ”是匹配所有的字母 、“[0-9] ”是匹配所有的数字 、“[0-9\.\-] ”是匹配所有的数字,句号和减号。正则表达式里面有非常多预先定义好的一些特定字符,匹配手机号码、身份证等这些规则就是通过这些特定字符的组合而形成的。
如果在写需求文档时涉及条件匹配就可以用字符簇来代替描述文字,使文档更清晰研发更愿意看,为以后的沟通协作奠定了基础。
产品可以不懂代码但可以多了解一点实现知识,可以提前与开发沟通你的设计蓝图可行性,提高双方效率。
以上理解性记忆,希望对你有用。

人人都是产品经理专栏作家

个人网站:http://chiefbragger.com/

0条评论 添加新讨论

登录后参与讨论
Ctrl+Enter 发表