C#中正则表达式与回车换行符问题

C#中,读取文本文件内容,里面往往有许多回车换行符(“\r\n”),虽然一般不可见,但却实实在在的存在。这时候,使用正则表示式进行匹配,需要考虑其存在。今天就遇到这样一个问题:

有文本文件内容如下:

DT 20180101000000
WT -1.1
SL  31.4
WL 203
DT 20180101000000
AT -4.1
BP 1023.7
HU 26
RN     99999.9
WS 1.9 92 2.0 94 3.4 79 2111 4.6 83 2103

使用正则表达式: WT\s+(?<WT>.+)$ ,结果是拿不到匹配值。原因是读取到的文本内容,里面有好多回车换行符“ \r\n ”。比如 WT -1.1 这行,实质内容是

WT -1.1\r\n ”,这时行尾符“$”就不起作用了。应该说,是直接读取文件内容,使用正则表达式匹配,就不起作用了。

将正则表达式改为:

WT\s+(?<WT>.+)\r\n

总结

相关推荐