$re = '/^\s{1,}\[Documentation]\s*(.*)$|^\s{1,}\.{3}\s*(.*)$/m';
$str = '
${DISPLAY_LINE1} 0 #TARIFF Display
${DISPLAY_LINE2} 1 #EXTRAS Display
${DISPLAY_LINE3} 2 #FARE Display
@{TEST_SCREENS_WITH_TIMEOUT} ShowDesc ShowOsAndCountryCode ShowSW ShowSerial
... Checksum_PPSU Checksum_BPSU Checksum_LPSU Checksum_GPSU Checksum_AEPS Checksum_FEPS Checksum_GPAR
... Datetime_Clock Datetime_DDMM Datetime_Year
... ShowHWRevBaseboard ShowHWRevSOM Digio LVTL_Info
... TestMeasure_WDZ TestMeasure_SEC TestMeasure_MET TestMeasure_SPD
@{TEST_SCREENS_WITHOUT_TIMEOUT} DisplayTest DisplaySettings Temperature
@{CHECKSUM_SCREENS} Checksum_PPSU Checksum_BPSU Checksum_LPSU
*** Keywords ***
Program Version contain
[Documentation] Read out program version and compare it with ${PROGARMM_VERSION}
... Comparison is done with "Should Contain" which is equal to Pythons "in" operator,
... it checks if ${PROGARMM_VERSION} is a substring of display content.
... Examples: Display content is "P.ITM30"
... Should Contain P.ITM30 ITM30 => PASS
... Should Contain P.ITM30 ITM => PASS
... Should Contain P.ITM30 I => PASS
... Should Contain P.ITM30 ITM40 => FAIL
[Arguments] ${PROGARMM_VERSION}
Fail if not on measure mode screen ShowOsAndCountryCode
@{disp} = Read display in measure mode
Should Contain @{disp}[${DISPLAY_LINE3}] ${PROGARMM_VERSION} Program version not found: ${PROGARMM_VERSION}
Tarif EPS is
[Documentation] Read out tarif EPS and compare it with ${TARIF_EPS}
... Comparison is done with "Should be equal"
[Arguments] ${TARIF_EPS}
Fail if not on measure mode screen Checksum_AEPS
@{disp} = Read display in measure mode
${disp_traf_eps} = Catenate SEPARATOR= @{disp}[${DISPLAY_LINE1}] @{disp}[${DISPLAY_LINE3}]
${disp_traf_eps} = Replace String ${disp_traf_eps} . ${EMPTY}
Should be equal ${disp_traf_eps} ${TARIF_EPS} Tarif EPS is not equal
Release Date contain
[Documentation] Read out program version and compare it with ${RELEASE_DATE}
... Comparison is done with "Should Contain" which is equal to Pythons "in" operator.
... For more information about the in-operator read Program Version contain - Keyword
[Arguments] ${RELEASE_DATE}
Fail if not on measure mode screen ShowSW
@{disp} = Read display in measure mode
Should Contain @{disp}[${DISPLAY_LINE3}] ${RELEASE_DATE} Release date not found: ${PROGRAM_VERSION}
Checksum is not blinking
[Documentation] Check if checksums displayed in MEASURE MODE does blinking
[Arguments] ${CHECKSUM_SCREEN}
Fail if not on measure mode screen ${CHECKSUM_SCREEN}
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php