NEWS
[gelöst]Parser regex
-
Hallo zusammen,
ich bin mal wieder am Regex zusammenwursteln, leider mehr schlecht als recht, folgende Herausforderung, im Sourcecode der http Seite steht dies hier:
### ![](/site-media/images/layout/snowflake_icon.png) NEW SNOW TOTALS #### 24HRS 0” #### 48HRS 0” #### BASE 0”
und ich möchte die "0" (weil aktuell kein Schnee) in der Zeile nach````
24HRS
ich habe das hier bisher:
(?s)>24HRS<...+?([0-9.,]+)
iobroker will aber javascript, oder? ich bekommen jedenfalls folgende Fehlermeldung: ` > host.rock64 2018-10-20 12:49:08.013 error instance system.adapter.parser.0 terminated with code 6 (uncaught exception) > > Caught 2018-10-20 12:49:08.012 error by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8) > > Caught 2018-10-20 12:49:08.012 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) > > Caught 2018-10-20 12:49:08.012 error by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) > > Caught 2018-10-20 12:49:08.011 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12) > > Caught 2018-10-20 12:49:08.011 error by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9) > > Caught 2018-10-20 12:49:08.010 error by controller[0]: at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:157:27) > > Caught 2018-10-20 12:49:08.010 error by controller[0]: at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4332:61 > > Caught 2018-10-20 12:49:08.009 error by controller[0]: at adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.parser/main.js:346:17) > > Caught 2018-10-20 12:49:08.009 error by controller[0]: at initPoll (/opt/iobroker/node_modules/iobroker.parser/main.js:94:17) > > Caught 2018-10-20 12:49:08.008 error by controller[0]: at new RegExp (<anonymous>) > > Caught 2018-10-20 12:49:08.008 error by controller[0]: SyntaxError: Invalid regular expression: /(?s)>24HRS<…+?([0-9.,]+)/: Invalid group > > parser.0 2018-10-20 12:49:06.981 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8) > > parser.0 2018-10-20 12:49:06.981 error at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) > > parser.0 2018-10-20 12:49:06.981 error at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) > > parser.0 2018-10-20 12:49:06.981 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12) > > parser.0 2018-10-20 12:49:06.981 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9) > > parser.0 2018-10-20 12:49:06.981 error at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:157:27) > > parser.0 2018-10-20 12:49:06.981 error at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4332:61 > > parser.0 2018-10-20 12:49:06.981 error at adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.parser/main.js:346:17) > > parser.0 2018-10-20 12:49:06.981 error at initPoll (/opt/iobroker/node_modules/iobroker.parser/main.js:94:17) > > parser.0 2018-10-20 12:49:06.981 error at new RegExp (<anonymous>) > > parser.0 2018-10-20 12:49:06.981 error SyntaxError: Invalid regular expression: /(?s)>24HRS<…+?([0-9.,]+)/: Invalid group > > parser.0 2018-10-20 12:49:06.979 error uncaught exception: Invalid regular expression: /(?s)>24HRS<…+?([0-9.,]+)/: Invalid group > > parser.0 2018-10-20 12:49:06.878 info starting. Version 1.0.7 in /opt/iobroker/node_modules/iobroker.parser, node: v8.12.0</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous> ` Regex ist eh nicht das meine… die Übersetzung nach javascript bekomme ich nicht hin, hat hier jemand einen Tip? Danke und Gruß
-
>24HRS<\/h4>[^\d]*([0-9.,]+)
-
Vielen dank schonmal! So bekomme ich aber die 4 vom ".
Gucke ich nur genauer an wenn ich zuhause bin.
Danke!
Gesendet von meinem SM-G930F mit Tapatalk
-
so habe die Lösung:
>24HRS....[^\d]*([0-9.,]+)
damit bekomme ich den gewünschten Inhalt.
Danke!
Gruß