Difference between revisions of "Regular expression"

From RadiWiki
Jump to: navigation, search
(Regular expression examples)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
A [[Regular Expression]] is a text pattern that describes how textual input should be parsed to retrieve a piece (or complete) of the textual input.
+
A [[Regular expression]] is a text pattern that describes how textual input should be parsed to retrieve a piece (or complete) of the textual input.
  
For regular expression we advise you to look at an internet site dedicated to regular expressions: http://www.regular-expressions.info/tutorial.html
+
For regular expression we advise, to learn on how to use regular expressions, at a dedicated internet site. For example: https://www.regular-expressions.info/tutorial.html
An online regular expression tester can also be used to verify the correctness of the regular expression.
+
 
 +
An online regular expression tester can also be used to verify the correctness of the regular expression: https://regex101.com/
 +
 
 +
== Configurable device drivers ==
 +
In {{RadiMation}} the [[Regular expression]]s are often used to interpret the response of a device. Several configurable device drivers, provide a possibility to specify the regular expression to convert the response on a query-command into a value.
 +
 
 +
The most complete regular expression to retrieve a floating point number from a response is:
 +
([+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?)
 +
 
 +
The part of the regular expression that is included within the outermost brackets is taken as the final result.
 +
 
 +
=== Regular expression examples ===
 +
Some simple examples for interpreting a response are:
 +
{| class="wikitable"
 +
|-
 +
! Received information
 +
! Regular expression
 +
! Determined measurement value
 +
! Note
 +
|-
 +
| U_L_N 325
 +
| (-?[0-9.,Ee+-]+)
 +
| 325
 +
| Takes the first number.
 +
|-
 +
| I_L1;12.34
 +
| ;(-?[0-9.,Ee+-]+)
 +
| 12.34
 +
| Takes the first number after ";".
 +
|-
 +
| THD_U_L1;;14,5
 +
| ;;(-?[0-9.,Ee+-]+)
 +
| 14.5
 +
| Takes the first number after ";;".
 +
|-
 +
| AC_FREQ;Channel1;1.23E+3
 +
| ;.*;(-?[0-9.,Ee+-]+)
 +
| 1230
 +
| Takes the first number after the appearance of a second ";".
 +
|}
 +
 
 +
The correctness of the regular expression can be tested, verified and improved by using the {{ScreenElement|Validate Expression}} tool within the configurable device driver.
 +
 
 +
[[File:ValidateExpressionTool.png]]
 +
 
 +
In the {{ScreenElement|Regular Expression Tester}}, the following fields are available to verify the regular expression:
 +
{{ScreenElementDescriptionStart}}
 +
{{ScreenElementDescription|Input|Any text that is expected to be returned by the device.}}
 +
{{ScreenElementDescription|Regular Expression|The [[Regular expression]] that is being tested. This regular expression will be used to use the text from {{ScreenElement|Input}} and convert it into a numerical value.}}
 +
{{ScreenElementDescription|Result|The numerical value that is determined by the device driver using the {{ScreenElement|Regular Expression}} on the {{ScreenElement|Input}}.}}
 +
{{ScreenElementDescriptionEnd}}
  
 
== Links ==
 
== Links ==

Latest revision as of 10:37, 1 February 2023

A Regular expression is a text pattern that describes how textual input should be parsed to retrieve a piece (or complete) of the textual input.

For regular expression we advise, to learn on how to use regular expressions, at a dedicated internet site. For example: https://www.regular-expressions.info/tutorial.html

An online regular expression tester can also be used to verify the correctness of the regular expression: https://regex101.com/

Configurable device drivers

In RadiMation® the Regular expressions are often used to interpret the response of a device. Several configurable device drivers, provide a possibility to specify the regular expression to convert the response on a query-command into a value.

The most complete regular expression to retrieve a floating point number from a response is:

([+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?)

The part of the regular expression that is included within the outermost brackets is taken as the final result.

Regular expression examples

Some simple examples for interpreting a response are:

Received information Regular expression Determined measurement value Note
U_L_N 325 (-?[0-9.,Ee+-]+) 325 Takes the first number.
I_L1;12.34 ;(-?[0-9.,Ee+-]+) 12.34 Takes the first number after ";".
THD_U_L1;;14,5 ;;(-?[0-9.,Ee+-]+) 14.5 Takes the first number after ";;".
AC_FREQ;Channel1;1.23E+3 ;.*;(-?[0-9.,Ee+-]+) 1230 Takes the first number after the appearance of a second ";".

The correctness of the regular expression can be tested, verified and improved by using the Validate Expression tool within the configurable device driver.

ValidateExpressionTool.png

In the Regular Expression Tester, the following fields are available to verify the regular expression:

ScreenElementDescription.png Input Any text that is expected to be returned by the device.
ScreenElementDescription.png Regular Expression The Regular expression that is being tested. This regular expression will be used to use the text from Input and convert it into a numerical value.
ScreenElementDescription.png Result The numerical value that is determined by the device driver using the Regular Expression on the Input.


Links