【发布时间】:2016-07-21 18:55:51
【问题描述】:
我有以下两种类型的输出,我需要进行正则表达式匹配和替换:
<span class=Price>$9.99</span>
<span class=RegularPrice>$9.99</span><span class=SalePrice>$4.99</span>
我要做的是在第一个示例中匹配 $9.99;第二次为 4.99 美元。 (如果类是 Price 或 SalePrice 则基本上匹配标签的内容
我尝试了几个例子;但它们要么匹配整个跨度;或从 SalePrice 开始并继续前进
我现在得到的是:
var regex = new Regex(@"<span class=Price|SalePrice>(.*?)<\/span>");
但它在某个地方有点偏离。我认为这种交替不太正确。有人能指出我正确的方向吗?
【问题讨论】:
-
在正则表达式上下文中使用管道(不在组内
(...))会将所有内容从左到右分开。这意味着您实际上想要(?:Price|SalePrice)