我正在寻找一个快速的库/类来解析纯文本,使用如下表达式:
文字是:<b>Name:</b>John<br><i>Age</i>32<br>
模式是:{*}Name:</b>{%}<br>{*}Age</i>{%}<br>
它会找到两个值:John
和32
。
Intent是在不涉及重型工具的情况下解析简单的HTML网页。它不应该在内部使用字符串操作或正则表达式,但可能通过字符解析来执行char。
答案 0 :(得分:0)
正则表达式替换可行。只需让它将两个值一起返回,如“John%32”,然后拆分响应以获得两个单独的值。
答案 1 :(得分:0)
这里手动实现的逐字符解析确实没有优势,因为这些问题已经基本上解决了这些类型的问题。
开发逐个字符的方法可能最终等同于手动实现上述两个选项之一,这不是一件容易实现的事情。
答案 2 :(得分:0)
由于您似乎要求用户指定您想要的HTML内容,因此在这里使用正则表达式可能是正常的(为什么您对它们感到厌恶?)。它不再是HTML解析,只是简单的文本匹配,这是正则表达式的设计目的。
以下是一个例子:
$match =~ s/{\*}/.*?/g;
$match =~ s/{%}/(.*?)/g;
$html =~ /$match/;
这将在您的捕获组中留下您需要的内容。