首页 新闻 会员 周边

求个正则语句

0
悬赏园豆:140 [已关闭问题] 关闭于 2012-01-11 08:51

下面是各地机构代码

BJS/SZA/BGS
BJS/SZA/ZZSYDW/BGS
BJS/AAA/SZB/BGS
BJS/HHH/ABC/SZB/ABC/BGS
CHINA/BJS//ABC/SZB/ABC/BGS
BJSDW/BJS/AAA/SZB/BGS
BJSDW/SWJG/BMGLJG
BJSDW/SWJG/YZFHSBGJG
BJSDW/SWJG/GKDWJQTGLJG


上面是组织机构的代码,
写一个正则,查询出所有符合的记录,顺序不能乱,可以越级查询

查询 BJS 机构 下 SZ* 下 BG*   
BJS SZ* BG*  

问题补充:

比如,查询 BJS 机构 下 SZ* 下 BG*   
BJS SZ* BG*  

我想查询 北京市 下所有 SZ 开头的机构,下 所有 BG 开头的机构

大数据小侠的主页 大数据小侠 | 菜鸟二级 | 园豆:274
提问于:2012-01-09 10:53
< >
分享
所有回答(5)
0

是什么意思没看明白,你把要怎么查,查出来的结果应该是哪样的详细点描述一下吧。

LCM | 园豆:6876 (大侠五级) | 2012-01-09 11:00

比如,查询 BJS 机构 下 SZ* 下 BG*   
BJS SZ* BG*  

我想查询 北京市 下所有 SZ 开头的机构,下 所有 BG 开头的机构

支持(0) 反对(0) 大数据小侠 | 园豆:274 (菜鸟二级) | 2012-01-09 11:12

@etyoung:你看下这个是不是能满足你的需求。

BJS/[\w\W]*?/SZ[\w\W]*?/(?<city>BG\w*)

组city里就是你要查的机构。

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-01-09 11:28

@LCM: 他要能越级的,比如 BJS/SZA/AAA/CCCC/BGA 也是要查到的。

支持(0) 反对(0) 水牛刀刀 | 园豆:6350 (大侠五级) | 2012-01-09 11:44

@水牛刀刀: 用这个可以越级查询。

BJS/(\w*?/+)*SZ\w*/(\w*?/+)*BG\w*
支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-01-09 13:49

@etyoung: 用这个应该可以。

BJS/(\w*?/+)*SZ\w*/(\w*?/+)*(?<city>BG\w*)
支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-01-09 13:50

@etyoung: 再加了一点点,防止把ABBJS当成BJS查询出来,

(^|\s|/)BJS/(\w*?/+)*SZ\w*/(\w*?/+)*(?<city>BG\w*)



支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-01-09 14:05
0

这不是正则做的事情。你应该先把这些分析成组织机构(树形)结构图,然后再用代码去分析(即所谓的业务逻辑)。否则:(1)有的逻辑正则写不出来(2)正则写出来了,下次有变动就会死人。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-01-09 11:10

老板要求能模糊查询,结构图会死人的。

支持(0) 反对(0) 大数据小侠 | 园豆:274 (菜鸟二级) | 2012-01-09 11:12

@etyoung: 写代码就不能模糊查询了?写代码比正则灵活多了好么。。。

支持(0) 反对(0) 水牛刀刀 | 园豆:6350 (大侠五级) | 2012-01-09 11:19

@水牛刀刀: 

代码模糊匹配太痛苦了。

支持(0) 反对(0) 大数据小侠 | 园豆:274 (菜鸟二级) | 2012-01-09 11:19
0

建议把测试代码写出来,这样大家可以通过测试代码准确理解你要解决的问题。

dudu | 园豆:30994 (高人七级) | 2012-01-09 11:16
0

/?\bBJS\b(/[A-Z/]*?|[A-Z/]*?/)(?<SZJiGou>\bSZ[A-Z]*?\b)/?[\w]*?/(?<BGJiGou>\bBG[^/\s]*?\b)

看看符合你的要求不。我用你给的那几个数据,都能匹配的上。

Rookier | 园豆:652 (小虾三级) | 2012-01-10 17:29
0

自己搞定啦。

(.*?)BJ(.*?)/+SZ(.*?)/+BG(.*?)

大数据小侠 | 园豆:274 (菜鸟二级) | 2012-01-11 08:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册