我正在尝试对结尾有温度的消息使用正则表达式。整个消息的示例如下所示:
RH= 12.1 %RH T= -3.5 'C
如果不明显,则温度(以及与此问题相关的部分)为T = -3.5 'C
. 我想捕捉C
或捕捉F
到最后。现在我有这个表达:
"RH=\\s*(?<1>[^\\s]*)\\s%RH T=\\s*(?<2>[^\\s]\\s*'\\w)"
但这将在最后捕获任何字母数字字符。如何将最后的最后一个更改为'\\w'
“仅C
或F
?”?
我正在尝试对结尾有温度的消息使用正则表达式。整个消息的示例如下所示:
RH= 12.1 %RH T= -3.5 'C
如果不明显,则温度(以及与此问题相关的部分)为T = -3.5 'C
. 我想捕捉C
或捕捉F
到最后。现在我有这个表达:
"RH=\\s*(?<1>[^\\s]*)\\s%RH T=\\s*(?<2>[^\\s]\\s*'\\w)"
但这将在最后捕获任何字母数字字符。如何将最后的最后一个更改为'\\w'
“仅C
或F
?”?
您可以使用字符类:而不是\\w
,写[CF]
。
好吧,如果提供的 formt 是确定的,不要使用复杂的正则表达式,而是简单的:
int index = data.LastIndexOf('\''); //index of last ' symbol
data.Substring(index);
应该为你工作。
另一种选择是将结尾替换为\\w
,c|f
意思是:c 或 f。