问题标签用户 java 正则表达式 抓取2行特定中文词语中的一段中文

老师让我们做一个能从汉字网站http://hanyu.iciba.com上抓取汉字信息的爬虫,现在遇到了一个难题,下面是我用httpunit解析出来的某个字的部分信息。龙... 老师让我们做一个能从汉字网站http://hanyu.iciba.com上抓取汉字信息的爬虫,现在遇到了一个难题,下面是我用httpunit解析出来的某个字的部分信息。

繁体

笔画
5笔
造字法
原为形声
部首
龙部
五笔
DXV
结构
单一结构
比如说现在我要截取这个字的部首,也就是部首和五笔这2行字中间的那段字,那正则表达式是不是就是"部首.五笔",但是这样做了之后什么也没有截取出来,能告诉我怎么写这个表达式吗。
展开
 我来答
二牛资讯
推荐于2016-05-21 · TA获得超过736个赞
知道小有建树答主
回答量:631
采纳率:50%
帮助的人:569万
展开全部
正则表达式是中 . 的含义是除换行符之外的单个字符,也就是说如果 “部首.五笔” 之间有换行符,你的表达式将不能匹配到结果。
试试下面的表达式:
(?:部首)[\s\S]+?(?:五笔)
追问
我用\s它说我转义序列无效,什么原因?
追答
\s是正则表达式的转义,你说提示应该是字符串中的提示,我们在Java中定义parttern是应该表达为:"(?:部首)[\\s\\S]+?(?:五笔)"
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友feccf02
2014-11-04 · TA获得超过202个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:96.5万
展开全部
应该还要加一个*号吧,因为.号只是单个字符! 你这样写试试 部首.*五笔 或者用这个 部首.+五笔
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式