# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^#define (.*) (0x[0-9A-F]+)$"
test_str = ("/* Sensor Binary command class commands */\n"
"#define SENSOR_BINARY_VERSION_V2 0x02\n"
"#define SENSOR_BINARY_GET_V2 0x02\n"
"#define SENSOR_BINARY_REPORT_V2 0x03\n"
"#define SENSOR_BINARY_SUPPORTED_GET_SENSOR_V2 0x01\n"
"#define SENSOR_BINARY_SUPPORTED_SENSOR_REPORT_V2 0x04\n"
"/* Values used for Sensor Binary Report command */\n"
"#define SENSOR_BINARY_REPORT_IDLE_V2 0x00\n"
"#define SENSOR_BINARY_REPORT_DETECTED_AN_EVENT_V2 0xFF\n")
subst = "private const byte $1 = $2; // $1"
# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
if result:
print (result)
# 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