【发布时间】:2018-09-06 14:31:38
【问题描述】:
在下面的两个字符串(天气)中,我需要用正则表达式找到"BKN" 之后的第一个"xxxFT" 值,然后只提取数值:xxxx
在第一个字符串中,最终值为2400,第二个为700。
"BKN" 和 "xxxxFT" 之间可能是一个附加词,这取决于。即:"BKN CB 2400FT" 或 "BKN 700FT"
String str1 = "4000M WX MODTSRA CLD FEW 600FT BKN CB 2400FT BKN CB 2900FT T 21 DP 18 QNH 1010.7HPA MET QFE 1004.1HPA TREND TEMPO MOD TSRA"
String str2 = "1500M CLD BKN 700FT BKN 4600FT T 16 DP 17 QNH 1014.7HPA MET QFE 1004.1HPA TREND TEMPO MOD TSRA"
我可以使用哪种正则表达式模式?
【问题讨论】:
-
你尝试了什么?
-
你需要所有以 xxxFT 作为模式的值吗?
-
BKN.*?\s+(\d+)FT 将适用于您提供的两种情况 - 它实际上抓取了所有 xxx,但您可以只使用第一个。顺便说一句,对于 regex,您可以访问 regex101.com,这是 regex 的绝佳资源。 (我不隶属。)
-
@Jeutnarg 非常感谢它运行良好!!!