Products
GG网络技术分享 2025-03-18 16:14 0
<li title="其他">屏幕前摄组合:刘海屏</li><li title="其他">充电器:其他</li>
<li title="其他">CPU型号:其他</li>
<li title="其他">前摄主摄像素:其他</li>
使用正则我如何在这些N多相同的标签内提取到cpu这个呢?正则貌似没法实现吧?
import re
a = "<li title='其他'>屏幕前摄组合:刘海屏</li><li title='其他'>充电器:其他</li><li title='其他'>CPU型号:其他</li><li title='其他'>前摄主摄像素:其他</li>"p1 = re.compile(r'[>](CPU.*?)[<]', re.S) #最小匹配print(re.findall(p1, a))
@"<(?!/)[^>]*>" 正则
需求就是我用ABAP的某个函数从数据库读取一个字符串出来,该字符串的内容是一个网页。
网页的form里包含了很多隐藏的input field。我的任务是解析出name为svyValueGuid的input field的值:FA163EEF573D1ED89E89C7FE5E7C4715
最简单粗暴的做法是:利用ABAP的FIND FIRST OCCURRENCE关键字首先找到svyValueGuid的偏移量,然后从这个偏移量出发,再找到第一个>的偏移量,这样问题就化简为在子串type="hidden" value="FA163EEF573D1ED89E89C7FE5E7C4715",这样问题就简单多了。但是这种办法比较笨重,代码很冗余。
有没有更快捷的办法呢?那就是使用ABAP regular expression,即正则表达式。
请看下列的测试代码:
Demand feedback