正则表达式使用submit和value属性查找输入标记

时间:2014-10-14 06:23:59

标签: c# regex

我有2个输入标签,如下所示

<input name="daily" value="Next" title="Next"
class="btn btn-link" type="submit"/>

<input type="submit" name="daily" value="Next" title="Next"
 class="btn btn-link"/>

我正在使用

<input[^>]*\s*type\s*=\s*('|"|)Submit\s*(\1)[^>]*\s*value\s*=('|"|)Next\s*(\3)[^>]*>

但只有一个匹配上面的正则表达式。

我希望匹配的正则表达式忽略类型或值属性的位置。

2 个答案:

答案 0 :(得分:3)

<input[^>]*\s*(?=[^>]*type\s*=\s*('|"|)Submit\s*(\1))[^>]*\s*(?:value\s*=('|"|)Next\s*(\3))[^>]*>

试试这个。已经添加了一个预测,这将确保type attreibute在字符串中的某处不仅仅在value之前 见演示。

http://regex101.com/r/yA5iD9/1

答案 1 :(得分:0)

为什么不使用?运算符?

<input\s*(type="\w+"\s*)?name="\w+"\s*value="\w+"\s*title="\w+"

或者在您的情况下使用此:

<input (type="submit" )?name="daily" value="Next" title="Next"