我想为这个字符串模式写一个正则表达式:
<Col name="SKU_UPC_NBR">85634546495</Col>
我想获取 Col 标签之间的值。
我尝试了以下模式:
Pattern TAG_REGEX = Pattern.compile("<Col name='SKU_UPC_NBR'>(.+?)</col>");
Matcher matcher = TAG_REGEX.matcher(str);
以上与我的字符串不匹配并返回空。请帮我解决这个问题。
正则表达式与您键入的内容完全匹配。它不概括,它不明白有时对您来说' == "
,它与混合情况不匹配。
您指定的数据格式是open tag, space, name attribute, equals, double quote , name attr data ...
您指定的正则表达式格式是open tag, space, name attribute, equals, single quote , name attr数据 ...
你需要的是
Pattern TAG_REGEX = Pattern.compile("<Col name=\"SKU_UPC_NBR\">(.+?)</Col>");
注意:您可能希望使用(\d+?)
而不是(.+?)
as \d
will 匹配任何数字,因此正则表达式更特定于您匹配的数据,并且更易于阅读。但是,这将不起作用,如果您知道某些Col
标签中不会只有数字
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句