【发布时间】:2012-07-17 14:10:08
【问题描述】:
我正在尝试对结尾有温度的消息使用正则表达式。整个消息的示例如下所示:
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=\s*(?<1>[^\s]*)\s%RH T=\s*(?<2>[^\s]\s*'[CF])" -
另一种指定OR的方式是
|(例如(C|F)),但在这种情况下字符类更好。
标签: c# regex or-operator