正则表达式中的[^.]*是什么意思?

2024-02-09

我试图从以下文本中获取 482.75:<span id="yfs_l84_aapl">482.75</span>

我使用的正则表达式是:regex = '<span id="yfs_l84_[^.]*">(.+?)</span>'它起作用了。

但我不明白的是为什么 [^.]* 可以在这里匹配 aapl ?我的理解是。表示除换行符之外的任何字符; ^ 表示否定。因此 [^.] 应该是换行符,而 [^.]* 应该是任意数量的换行符。然而,这个理论与现实世界的实施相反。

感谢任何帮助并提前致谢。


我使用的Python代码:

import urllib
import re 
htmlfile = urllib.urlopen("http://finance.yahoo.com/q?s=AAPL&ql=0")
htmltext = htmlfile.read()
regex = '<span id="yfs_l84_[^.]*">(.+?)</span>'
pattern = re.compile(regex)
price = re.findall(pattern, htmltext)
print "the price of of aapl is", price[0]

[] the .意味着只是一个点。而领先的^意思是“除了……之外的任何事情”。

So [^.]*匹配零个或多个非点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式中的[^.]*是什么意思? 的相关文章

随机推荐