我需要一个正则表达式来解析下面的字符串:
{ "<div class="highlighttitle2">UNSPSC 43211701</div>" }
整个字符串是选项。我需要的输出是
UNSPC:43211701
请帮忙。
我试过..
.*?((?(?=ul).*?(?(?=div)|.*?\bUNSPSC\b.*?(?'UNSPSC'[^<]*)</div>)|.*?(?(?=div).*?\bUNSPSC\b.*?(?'UNSPSC'[^<]*)</div>|))|).*?((?(?=ul).*?(?(?=div)|.*?\bUNSPSC\b.*?(?'UNSPSC'[^<]*)</div>)|.*?(?(?=div).*?\bUNSPSC\b.*?(?'UNSPSC'[^<]*)</div>|))|)
答案 0 :(得分:1)
如果你可以保证字符串总是以UNSPC
开头,后面是没有空格的数字,那么你的正则表达式可能是
(UNSPC \d*)
您的结果UNSPC 43211701
将位于第一个捕获组中。
答案 1 :(得分:1)
这将尽可能少地回馈(可能是您正在寻找的)
(UNSPSC\s\d+?(?=<))
它不关心有多少位数,但只会给你一个匹配而不是每个数字的匹配。