2 regex
我有回应:
MS1:111980613994 124 MS2:222980613994124
我有以下正则表达式:
MS\d:(\d(?:\r?\n?)){15}
Run Code Online (Sandbox Code Playgroud)
根据Regex的说法," (?:\r?\n?)"部分应该让它与组匹配,但是将它从捕获中排除(因此我从组中获得连续值).
问题是" MS1:xxx"它匹配[CR][LF]并包含在组中.它应该从捕获中排除......
请帮忙.
所述(?:...)语法不意味着封闭图案将从包围捕获组中排除(?:...).这意味着由此形成的组(?:...)不会创建新的捕获组.换句话说,如果它们被捕获组包围,则捕获组将捕获非捕获组匹配的字符.
如果你真的想忽略嵌入式\rs和\ns,你最好的选择是在第二步中将它们剥离出来.你没有说你正在使用什么语言,但是相当于这个(Python)的东西应该有效:
s = re.sub(r'[\r\n]', '', s)
Run Code Online (Sandbox Code Playgroud)