# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"Instrument Method\s*[=:-]\s*(?<dm>.*)"
test_str = ("This data was acquired in Method&Run Control.\n"
"The MSD parameters were saved in the msdiag register file.\n"
"This msparms.txt file was built using the values from the msdiag register.\n"
"Some parameters normally reported under MSData acquisition in Tune \n"
"may be missing from this msparms.txt file. You may be able to read these \n"
"values from Data Analysis. These items are marked with an asterisk (*).\n"
" \n"
" \n"
" \n"
"File : C:\\HPCHEM\\1\\DATA\\FIA.D\n"
"Operator : Apps Chemist\n"
"Date acquired : Wed Apr 09 17:50:26 1997\n"
"Instrument Method : Appsprite2\n"
" \n"
" \n"
"Sample information\n"
"----------------------------------\n"
"Sample name : 50 ng caffeine\n"
"Misc info : 50 ng Caffeine run in condensed mode varying fragmentor\n"
" \n"
" \n"
"MS parameters\n"
"----------------------------------\n"
"Tune File : C:\\HPCHEM\\1\\1946TUNE\\atunes.tun\n"
"Skim1 : Not Applicable\n"
"Skim2 : 8.0 V \n"
"Ion Energy : 5.0 V \n"
"Lens1 : 1.4 V \n"
"Lens2 : 27 V \n"
"Iris : 350 V \n"
"HED : 10000 V \n"
"Width Gain : -70 \n"
"Width Offset : Variable \n"
" Mass : Value \n"
" --------------------------\n"
" 118.10 : -11 \n"
" 622.03 : -14 \n"
" 922.01 : -2 \n"
" 1521.97 : -8 \n"
" 2121.93 : -13 \n"
" 2721.89 : -12 \n"
" --------------------------\n"
"Mass Gain : 4.40 \n"
"Mass Offset : Variable \n"
" Mass : Value \n"
" --------------------------\n"
" 118.10 : 0 \n"
" 622.03 : 0 \n"
" 922.01 : 0 \n"
" 1521.97 : 0 \n"
" 2121.93 : 0 \n"
" 2721.89 : 0 \n"
" --------------------------\n"
"Quad DC : 0.00 V \n"
"Octopole Peak : 300 V \n"
"Octopole Knee : 307 Da \n"
"Mass Filter : Gaussian \n"
"Mass Filter Width : 0.30 Da \n")
matches = re.search(regex, test_str)
if matches:
print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))
for groupNum in range(0, len(matches.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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 Python, please visit: https://docs.python.org/3/library/re.html