我试图使用WebHarvy(.NET)的表达式来匹配段落中的第2行,在它们之间具有双换行符正则表达式匹配
例
这是第二线第一行
这是第二线
我一直在使用\n(.*)\n\n
尝试,但它,而不是返回S的空换行符第二行。
请检查https://regex101.com/r/9GjHTM/1
请告知
感谢
我试图使用WebHarvy(.NET)的表达式来匹配段落中的第2行,在它们之间具有双换行符正则表达式匹配
例
这是第二线第一行
这是第二线
我一直在使用\n(.*)\n\n
尝试,但它,而不是返回S的空换行符第二行。
请检查https://regex101.com/r/9GjHTM/1
请告知
感谢
在WebHarvey regex,你可以捕捉你所需要的:
WebHarvy将仅提取匹配的正则表达式字符串指定的
group(s)
正文的那些部分(一个或多个)。
所以,使用
(?:\r\n?|\n){2}(.+)
该表达式相匹配:
(?:\r\n?|\n){2}
- 一个CR(回车),随后 - 的
\r\n?
正好两个事件({2}
) 1或0(=可选)LF(换行符)|
- 或\n
- 一个LF(换行)(.+)
- 捕获组1(具有此子模式相匹配的子串会通过WebHarvey输出)请注意,您可以调整'(?:\ r \ n?| \ n)'以仅匹配所需的换行符样式。如果它们是'\ r \ n',则使用'(?:\ r \ n){2}',只要'\ n'使用'\ n {2}'。 –
这完美的作品。非常感谢 –
嗨暹罗 - 我已经尝试了regex101上的表达式,它似乎工作正常,但是当我在web上尝试它时,它将返回一个空行。 Wiktor给出的表达式'(?:\ r \ n?| \ n){2}(。+)'正好相反,在regex101上不起作用,但在WebHarvy上正常工作。无论如何,非常感谢您的帮助。非常感谢:) –
它是[说] (https://www.webharvy.com/articles/regex.html)你可以*捕获*你需要的东西,所以'\ n(。+)'似乎是有效的,除非你只有CR结束。你可以尝试'(?:\ r \ n?| \ n)(。+)'。或者'^。*(?:\ r \ n?| \ n)(。+)'。如果你想在匹配值中得到结果,使用逆序(但只有当WebHarvey真的在.NET正则表达式上运行时):'(?<= ^。*(?:\ r \ n?| \ n))。 +' –
谢谢Wiktor。尝试所有这些,但它是返回一个空行,而不是文本的第二行 –
好吧,也许限制量词将有所帮助(.NET中的正则表达式匹配CR,所以这可能是一个问题):'(? :\ r \ n?| \ n){2}(。+)'或'^。*(?:\ r \ n?| \ n){2}(。+)' –