java正则表达式中“或”表示
有字符串如下<pfund="000001"><textstock="000002"fund="000003"/></p>需要用正则表达式将0000010000020000...
有字符串如下
<p fund="000001">
<text stock="000002" fund="000003" />
</p>
需要用正则表达式将000001 000002 000003解析出来,写了如下正则语句
<.[^<>]*?\\sfund=['\"]?(.*?)['\"]?(\\s.*?)?>
但是想同时将 fund 和 stock 匹配处出来。试了 将正则表达式中 fund替换成 fund|stock 却不行。该怎么办? 展开
<p fund="000001">
<text stock="000002" fund="000003" />
</p>
需要用正则表达式将000001 000002 000003解析出来,写了如下正则语句
<.[^<>]*?\\sfund=['\"]?(.*?)['\"]?(\\s.*?)?>
但是想同时将 fund 和 stock 匹配处出来。试了 将正则表达式中 fund替换成 fund|stock 却不行。该怎么办? 展开
4个回答
展开全部
(fund|stock)=\"\d+?\"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fund|stock 要用括号括起来作为一个整体,写成:
String pattern = "<.[^<>]*?\\s(fund|stock)=['\"]?(.*?)['\"]?(\\s.*?)?>";
不括起来的话
<.[^<>]*?\\sfund|stock=['\"]?(.*?)['\"]?(\\s.*?)?>
等价于
<.[^<>]*?\\sfund
或者
stock=['\"]?(.*?)['\"]?(\\s.*?)?>
匹配到的结果就是
<p fund
<text stock="000002" fund
显然不是你想要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
配音 吴桂苓
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询