我需要匹配文本--BB0和--EE0之间的两行,所以我在QT中使用这个正则表达式:
QRegularExpression rx0("(--BB0\n)(.*)(\n.*--EE0)", QRegularExpression::MultilineOption | QRegularExpression::DotMatchesEverythingOption)
此正则表达式在这种情况下正确匹配
QRegularExpressionMatch match = rx0.match(" --BB0\n AAAA\n BBBB\n --EE0");
但是当我匹配
的实际字符串时,它找不到任何内容--BB0
signal our_ip_address : std_logic_vector (31 downto 0) := x"c0a80509" ; -- 192.168.5.9
signal our_mac_address : std_logic_vector (47 downto 0) := x"002320212223";
--EE0
我在哪里做错了?
由于
答案 0 :(得分:4)
您不需要所有这些,只需使用以下表达式:
--BB0(.*?)--EE0
并使用QRegularExpression::DotMatchesEverythingOption
,您不需要QRegularExpression::MultilineOption
,因为您在正则表达式中没有使用^
或$
。
比赛将在第1组中进行。