我需要匹配文本--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我哪里做错了?
谢谢
发布于 2013-10-11 17:24:15
您不需要所有这些,只需使用以下表达式:
--BB0(.*?)--EE0使用QRegularExpression::DotMatchesEverythingOption,您不需要QRegularExpression::MultilineOption,因为您在正则表达式中没有使用^或$。
比赛将在组1中捕获。
Regex101 Demo
https://stackoverflow.com/questions/19314545
复制相似问题