使用多行正则表达式匹配多行

时间:2014-02-20 12:14:12

标签: c# regex

我正在尝试将文本与多行匹配。我的问题是换行符可以是不同的类型(\ n,\ r \ n \ n或\ r \ n)。目前我正在使用(?:\r?\n|\r),但希望在多行模式下将其替换为$^,但当它们不在字符串的开头或结尾时似乎不起作用。

例如A$^B

不匹配
A
B

A
B

我正在使用regex101进行测试。

2 个答案:

答案 0 :(得分:3)

$^与换行符本身不匹配,它们只匹配行尾/开头的位置。你需要使用像

这样的东西
A[\r\n]+B

答案 1 :(得分:2)

如果你对任何空格都没问题

A\s*B - 可以选择包含空格 A\s+B - 必须有一些空格

A[\r\n]+B - 必须至少有一个换行符\ n或\ n - 也会匹配a和b之间的多个空行