我是正则表达式的初学者,我想剪切一些文字放在另外两个单词之间。我正在使用QT来做到这一点。一些例子:
<li class="wx-feels">
Feels like <i><span class="wx-value" itemprop="feels-like-temperature-fahrenheit">55</span>°</i>
</li>
<li class="wx-feels">
Feels like <i><span class="wx-value" itemprop="feels-like-temperature-fahrenheit">55</span>°</i>
</li>
我想得到
从上面的代码中,特别是一个数字
,我的想法是首先从文本中删除整行,然后搜索nubers,但我无法从全文中恢复它。Feels like <i><span class="wx-value" itemprop="feels-like-temperature-fahrenheit">55</span>°
Feels like <i><span class="wx-value" itemprop="feels-like-temperature-fahrenheit">55</span>°
55
55
是一个完整的文本,但是一个列表只包含我不想要的那些子串,是否有一个posibity将QString分成三个部分?
第一个 - 开头的文字(我不想要)
第二个 - 想要的文字
第三 - 文本的其余部分?
答案 0 :(得分:0)
此正则表达式将收集li标签中{+ 1}}类的li标签内的内部字符串,它还会捕获span标记内的数值。
wx-feels
组0获取整个字符串,包括打开和关闭LI标记
这个PHP示例只是为了展示正则表达式的工作原理。
<li\b[^>]*\bclass=(["'])wx-feels\1[^>]*?>(.*?\bitemprop=(['"])feels-like-temperature-fahrenheit\3[^>]*>(\d+).*?)<\/li>
使用正则表达式解析html可能会有问题,因为边缘情况很多。如果您控制输入文本或者它总是像您的样本一样基本,那么您应该没有问题。
如果QT有一个,我建议使用HTML解析工具来捕获这些数据。