You are ending up with something like:
Code: Select all
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
[Variables]
[MeasureSite]
Measure=WebParser
URL=file://#CURRENTPATH#Test.html
RegExp=(?siU)^(.*)$
[MeasureReviews]
Measure=WebParser
URL=[MeasureSite]
RegExp=(?siU)reviews_available":(.*),
StringIndex=1
[MeterResult]
Meter=String
MeasureName=MeasureReviews
FontSize=11
FontWeight=400
FontColor=255,255,255,255
SolidColor=47,47,47,255
Padding=5,5,5,5
AntiAlias=1
[MeasuresSite] creates a string value of the entire string, as a capture of the entire string, indexed in StringIndex 1.
[MeasureReviews] uses that measure as the source, and has a RegExp that matches some part of it.
[MeasureReviews] also creates it's own capture group, indexed in StringIndex 1.
However, since [MeasureReviews] is a "child", the StringIndex option on it references the "parent", and then creates a "match" based on the RegExp on the child. That will be reviews_available":19,. Again, it also creates it's own StringIndex number with it's own capture, but isn't using it.
What you would need in this case is:
Code: Select all
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
[Variables]
[MeasureSite]
Measure=WebParser
URL=file://#CURRENTPATH#Test.html
RegExp=(?siU)^(.*)$
[MeasureReviews]
Measure=WebParser
URL=[MeasureSite]
RegExp=(?siU)reviews_available":(.*),
StringIndex2=1
[MeterResult]
Meter=String
MeasureName=MeasureReviews
FontSize=11
FontWeight=400
FontColor=255,255,255,255
SolidColor=47,47,47,255
Padding=5,5,5,5
AntiAlias=1
https://docs.rainmeter.net/manual/measures/webparser/#StringIndex2