Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求写正则表达式

自由心  发表于:2016-06-14 15:19:39  
复制

我在采集网页数据的时候遇到困难

请各位高手帮个忙,按下面要求写个正则表达式


如下有一段字符串,其中有10段字符串的格式是相同的,但内容是不同的(已经用颜色标出),

var uhlbIOXf={pages:37,data:["2016-06-13,,1498.91,2581.88,-1082.97,13880,163226,山东黄金,8.42%,600547,2833.07,-3.21%","2016-06-08,,1749.36,1805.45,-56.09,12757,162158,陕西黑猫,10.03%,601015,2927.16,-0.30%","2016-06-07,,1779.71,655.27,1124.44,11335,162100,江南嘉捷,10.03%,601313,2936.05,0.07%","2016-06-06,,1573.69,1372.97,200.72,12276,163232,永艺股份,10.00%,603600,2934.10,-0.16%","2016-06-03,,2428.75,1042.92,1385.83,11065,163465,国电南自,9.99%,600268,2938.68,0.46%","2016-06-02,,1309.17,509.34,799.83,11795,164874,凯盛科技,10.02%,600552,2925.23,0.40%","2016-06-01,,3093.04,1191.86,1901.18,10578,165679,洛阳钼业,10.10%,603993,2913.51,-0.11%","2016-05-31,,4451.75,1014.99,3436.76,9229,167583,北方稀土,10.02%,600111,2916.62,3.34%","2016-05-30,,3020.12,589.12,2431.00,10015,171020,长电科技,8.50%,600584,2822.45,0.05%","2016-05-27,,1044.95,430.08,614.87,11851,173417,皖通高速,8.85%,600012,2821.05,-0.05%"]}


要求:

1,用正则表达式 替换这10段字符串;

2,在这个正则表达式中,有两小串字符串,以变量如A,B的形式替代(因为我采集的内容正是此两个字符串)

如:"2016-06-13,,1498.91,2581.88,-1082.97,13880,163226,山东黄金,8.42%,600547,2833.07,-3.21%"

   A=2016-06-13B=13880

先多谢各位朋友了

 

Top
煮江品茶 发表于:2016-06-14 15:45:45

杀鸡焉用牛刀。

用Split将字符串分解为数组即可。

dim arr
arr=Split("2016-06-13,,1498.91,2581.88,-1082.97,13880,163226,山东黄金,8.42%,600547,2833.07,-3.21%",",")
A=arr(0)
B=arr(5)





自由心 发表于:2016-06-14 16:28:30

    多谢  @煮江品茶 热情作答。 但还是未能解决问题

    我写正则表达式的目的是想采集下面网页中的内容  

网页:http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=SHT&sty=SHTHPS&st=2&sr=-1&p=1&ps=10&js=var%20uhlbIOXf={pages:(pc),data:[(x)]}&mkt=1&rt=48844844

      即我希望将网页中的数据采集到ACCESS中,数据库中最终结果如下:

      字段1    2016-06-13,,1498.91,2581.88,-1082.97,13880,163226,山东黄金,8.42%,600547,2833.07,-3.21%

 字段2 2016-06-08,,1749.36,1805.45,-56.09,12757,162158,陕西黑猫,10.03%,601015,2927.16,-0.30%

 字段3 2016-06-07,,1779.71,655.27,1124.44,11335,162100,江南嘉捷,10.03%,601313,2936.05,0.07%

 …………

其实在本论坛中已经有网友实现了,参考如下帖子

【Access源码示例】Access正则采集网页数据

http://www.accessoft.com/article-show.asp?id=8178


但是我人笨弄不了,

请高手再跟进指导一下

   



煮江品茶 发表于:2016-06-14 17:56:42

鬼打架。

正则表达式只是字符串的处理方式之一,除这个方法之外还可以用数组的方法,甚至直接读取json数据的方法来处理。对于初学者来说而用数组的方法处理较为简单和易于理解。


点击下载此附件




自由心 发表于:2016-06-14 19:54:53

非常感谢 @煮江品茶

真是行家,会者不难

还提供了一种新的方法采集数据,赞


我基础极差,慢慢消化




总记录:4篇  页次:1/1 9 1 :