Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用Rainmeter网页资源获取徽章信息_Regex_Parsing_Pcre_Skin_Rainmeter - Fatal编程技术网

Regex 使用Rainmeter网页资源获取徽章信息

Regex 使用Rainmeter网页资源获取徽章信息,regex,parsing,pcre,skin,rainmeter,Regex,Parsing,Pcre,Skin,Rainmeter,我正在尝试为Rainmeter做一个皮肤,它显示用户个人资料页面上的声誉分数和徽章数量。如果用户在每个类别中至少有一个徽章(金、银、铜),那么一切都会很好,但以我为例,我还没有任何金徽章,皮肤看起来像。所需的输出类似于堆栈溢出401017。我的实际代码如下 [Rainmeter] Author=Dragos Sandu Update=1000 DynamicWindowSize=1 [Metadata] Name=Stack Overflow Stats Author=Dragos Sandu

我正在尝试为Rainmeter做一个皮肤,它显示用户个人资料页面上的声誉分数和徽章数量。如果用户在每个类别中至少有一个徽章(金、银、铜),那么一切都会很好,但以我为例,我还没有任何金徽章,皮肤看起来像。所需的输出类似于堆栈溢出401017。我的实际代码如下

[Rainmeter]
Author=Dragos Sandu
Update=1000
DynamicWindowSize=1

[Metadata]
Name=Stack Overflow Stats
Author=Dragos Sandu
Version=28 March 2015 rev 1
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
Information=Simple stats displaying for Stack Overflow

[Variables]
FontName=Trebuchet MS
FontSize=12

[MeasureAll]
Measure=Plugin
Plugin=Plugins\WebParser.dll
URL=http://stackoverflow.com/users/2691507/dragos-sandu
RegExp=(?siU)<span class="reputation-score">(.*)</span>.*<span class="badgecount">(.*)</span>.*<span class="badgecount">(.*)</span>.*<span class="badgecount">(.*)</span>

[MeasureReputation]
Measure=Plugin
Plugin=WebParser
URL=[MeasureAll]
StringIndex=1

[MeasureGold]
Measure=Plugin
Plugin=WebParser
URL=[MeasureAll]
StringIndex=2

[MeasureSilver]
Measure=Plugin
Plugin=WebParser
URL=[MeasureAll]
StringIndex=3

[MeasureBronze]
Measure=Plugin
Plugin=WebParser
URL=[MeasureAll]
StringIndex=4

[MeterText]
Meter=String
Prefix="Stack Overflow  "
FontFace=#FontName#
FontColor=#FFF
FontSize=#FontSize#
StringAlign=Left

[MeterReputation]
Meter=String
MeasureName=MeasureReputation
FontFace=#FontName#
FontColor=F0F0F0
FontSize=#FontSize#
StringAlign=Left
StringStyle=bold
X=120

[MeterGold]
Meter=String
MeasureName=MeasureGold
X=195
FontFace=#FontName#
FontColor=FFCC00
FontSize=#FontSize#
StringStyle=bold
StringAlign=Left

[MeterSilver]
Meter=String
MeasureName=MeasureSilver
X=235
FontFace=#FontName#
FontColor=C5C5C5
FontSize=#FontSize#
StringStyle=bold
StringAlign=Left

[MeterBronze]
Meter=String
MeasureName=MeasureBronze
X=285
FontFace=#FontName#
FontColor=CC9966
FontSize=#FontSize#
StringStyle=bold
StringAlign=Left

我读了一些关于WebPasser前瞻断言的文章,并尝试做一个有效的RegExp,但没有成功。我得到的最好结果是?siU.*.*.*我放弃了这个小项目,但今天我终于成功了。Stackoverflow最近稍微改变了他的外观,他的类和HTML也发生了变化。因此,现在我能够使用中的Lookahead断言方法metion解析欲望信息。对于所有感兴趣的人,我将在下面发布我的工作RegExp。此外,一个链接到整个雨量计皮肤将很快可用

RegExp=(?siU)<div class="reputation" title="reputation">(.*)<span.*(?(?=.*class="badge1-alternate").*<span class="badge1"></span><span class="badgecount">(.*)</span></span>).*(?(?=.*class="badge2-alternate").*<span class="badge2"></span><span class="badgecount">(.*)</span></span>).*(?(?=.*class="badge3-alternate").*<span class="badge3"></span><span class="badgecount">(.*)</span></span>)