正则表达式中的OR表达式



我正试图为一条末尾有温度的消息使用一个正则表达式

RH= 12.1 %RH T= -3.5 'C

如果不明显,则温度(以及与此问题相关的部分)为T = -3.5 'C。我想在最后捕获CF。现在我有一个表达式:

"RH=\s*(?<1>[^\s]*)\s%RH T=\s*(?<2>[^\s]\s*'\w)"

但这将在最后捕获任何字母数字字符。如何将末尾的最后一个'\w'更改为"仅CF?"?

您可以使用字符类:写[CF]而不是\w

好吧,如果提供的形式是确定性,不要使用复杂的正则表达式,而是简单的:

int index = data.LastIndexOf('''); //index of last ' symbol
data.Substring(index);

应该为您工作。

另一种选择是用c|f替换最终的\w,意思是:c或f。

最新更新