前端匹配相关字符串的检验和提取

工作上的一个需求 需要检验按照一定规则的字符串,格式如下:

形如${A.B.C}的格式,其中A部分只能为local或者global,B部分是一些诸如string、int等类型,C部分为自定义的任意字符串。同时A、B、C之间由点.进行分割。

 

实现思路如下:

1、首先用正则表达式匹配出所有的以${开头并且以}结尾的字符串保存到一个数组中。

可以看到res数组中保存的就是我们获取到的所有形如${...}的字符串的数组组合。

2、对字符串的A部分进行校验

方法:直接判断字符串是否包含${local. 或者${global. 即可

 

3、对匹配出来的字符串内部进行分割进一步校验

由于字符串内部用.分割成A\B\C三部分,因此我们可以直接用.讲字符串进行分割,首先判断分割出来是不是预想的三个部分,如果不是直接匹配失败。

 

对于分割成功为三个部分的字符串再继续对B部分进行判断:

首先预先定于一个函数,写上允许B部分包含的类型

然后再对提取出来的B部分进行判断:

 

4、由于C部分可允许任意字符串,因此在这里就不做相关校验,那么需求提出来的相关字符串匹配提取完成。

posted @ 2019-03-25 14:25  三只小猪猪  阅读(1985)  评论(0编辑  收藏  举报