正则表达式在处理字符串的时候,效率很高。但是需要熟练掌握,否则容易造成失误。
未免遗忘,记录于此。
1, 小括号的妙用 ()
如下字符串 11月2日国内一铵市场行情暂稳 这些字符是从页面中提取,如果需要提取出和间的内容,可以写成 patternstring = "()((.|\n)*)()"; 此处(.|\n)*是为了匹配所有字符和换行符。不能使用[.|\n]*,是因为.符号在[]就仅表示.的含义,没有匹配除换行符外所有字符的含义了,即已经被转义了,等同于\.。
2. 中括号的妙用[]
如下字符串 生意社11月2日讯 国内一铵市场行情暂稳,受复合肥价格上涨后实际销量有限、后市行情尚不明朗,复合肥企业原料采购十分谨慎,近日一铵销售速度放缓,经销商报价回落,目前江苏、安徽等地高端厂家报价也小幅下调,部分厂家报价虽不动、但成交略有优惠,当前出口关税政策尚不明朗,企业与经销商操作谨慎,大部分一铵厂家订单可执行到11月中旬,但近日硫酸价格大涨、磷矿石供应紧张,部分厂家被迫上调报价规避原料涨价的风险。由于市场走势仍不明朗,国内一铵市场价格暂稳。 同样是 HTML页面的内容,需要提取标签为maintext间的数据。
可以写成 patternstring = "(id=\"maintext\" style=\"line-height:180%; color:#000000; padding-top:10px;\" >)((.|\n|^]"; 这里同样考虑了由于数据中存在换行的可能。同时,使用[]而不使用()是考虑到存在的转义问题,我这里需要的是等同的字符,所以使用了[]。
未免遗忘,记录于此。
1, 小括号的妙用 ()
如下字符串 11月2日国内一铵市场行情暂稳 这些字符是从页面中提取,如果需要提取出和间的内容,可以写成 patternstring = "()((.|\n)*)()"; 此处(.|\n)*是为了匹配所有字符和换行符。不能使用[.|\n]*,是因为.符号在[]就仅表示.的含义,没有匹配除换行符外所有字符的含义了,即已经被转义了,等同于\.。
2. 中括号的妙用[]
如下字符串 生意社11月2日讯 国内一铵市场行情暂稳,受复合肥价格上涨后实际销量有限、后市行情尚不明朗,复合肥企业原料采购十分谨慎,近日一铵销售速度放缓,经销商报价回落,目前江苏、安徽等地高端厂家报价也小幅下调,部分厂家报价虽不动、但成交略有优惠,当前出口关税政策尚不明朗,企业与经销商操作谨慎,大部分一铵厂家订单可执行到11月中旬,但近日硫酸价格大涨、磷矿石供应紧张,部分厂家被迫上调报价规避原料涨价的风险。由于市场走势仍不明朗,国内一铵市场价格暂稳。 同样是 HTML页面的内容,需要提取标签为maintext间的数据。
可以写成 patternstring = "(id=\"maintext\" style=\"line-height:180%; color:#000000; padding-top:10px;\" >)((.|\n|^]"; 这里同样考虑了由于数据中存在换行的可能。同时,使用[]而不使用()是考虑到存在的转义问题,我这里需要的是等同的字符,所以使用了[]。