<td>数据:</td>
<td><img src="/123/abc.jpg" border="0" /></td>
我的理解是()得到想要的数据,然后 | 做类似的或操作
如果需要能匹配a模式或者b模式的,是不是应该这样 ((a)|(b))
也就是这样:
<td>((.+?)|<img src="(.+?)" border="0" />)</td>
但是经过测试达不到我想要的效果。 麻烦哪位大侠解答下,谢谢!
<td>数据:</td>
<td><img src="/123/abc.jpg" border="0" /></td>
我的理解是()得到想要的数据,然后 | 做类似的或操作
如果需要能匹配a模式或者b模式的,是不是应该这样 ((a)|(b))
也就是这样:
<td>((.+?)|<img src="(.+?)" border="0" />)</td>
但是经过测试达不到我想要的效果。 麻烦哪位大侠解答下,谢谢!
(.+?)
这一组在尝试匹配“数据:”时根据非贪婪规则,匹配到“数”就可以结束了,对于你想取得整个“数据:”的需求却没有做到。
正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。
例如:正则表达式
"ab*"
如果用于查找"abbbc"
,将找到"abbb"
。而如果使用非贪婪的数量词"ab*?"
,将找到"a"
。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
<td>(?:<img src=")?(.+?)(?:" border="0" />)?</td>
这个不一定是最好的方法,不过针对你描述的情况,已经可以工作了