0

我有一个这样的字符串

*PMGFEC«                                                        
1.1GURRALA/KALPANA*ADT  2.1GURRALA/BHARGAVSRIRAM REDDY*ADT     
3.1GURRALA/TEJASVI REDDY*CNN                                   
1 DL  32T 30MAY Q ATLAMS HK3   745P 1040A  31MAY F             
                                           /DCDL*F9L4QB /E  
2 KL 871N 31MAY F AMSDEL HK3   150P  130A  01JUN J             
                                           /DCKL*7XZRBF /E  
3 AI 560G 01JUN J DELHYD HK3   650A  850A /DCAI*YCH0F /E       
4 9W 452W 08AUG Q HYDBOM HK3   605P  735P /DC9W*PYZJQH /E      
5 DL  49T 09AUG F BOMAMS*HK3   110A  700A /DCDL*F9L4QB /E      
6 DL9390T 09AUG F AMSDFW*HK3  1045A  155P /DCDL*F9L4QB /E      
OPERATED BY KLM ROYAL DUTCH AIRLINES                            
7  OTH YY 09APR W GK1  NYC                                     
TKT/TIME LIMIT                                                  

我想要来自 *PMGFEC« 的 PMGFEC 使用正则表达式 我该怎么做

目前我正在使用\*\w{6}\«,但它获取*PMGFEC«

我想在美元和最后一个空格之间获取 1568.41 我该怎么做

NAME    PQ TYPE TKT DES              CREATED       TKT TTL      
 1.1     1                            14MAY USD   1568.41       
 2.1     1                            14MAY USD   1568.41       
 3.1     2  CNN CH25                  14MAY USD   1363.41
4

3 回答 3

2

这应该做[*]([a-zA-Z]{1,6})[«]。您可以用其他字符替换您想要的文本。

在此处输入图像描述

于 2013-05-14T12:16:49.887 回答
1

您可以使用环视断言来仅匹配所需部分,而不是使用捕获组:

(?<=\*)\w{6}(?=\«)
于 2013-05-14T12:22:17.043 回答
0

您需要使用由 指示的(...)来仅捕获您感兴趣的字符。然后您可以检查Groups结果的属性以提取该文本。

例如:

var result = Regex.Matches(input, @"\*(\w{6})«")[0].Groups[1].Value; 
Console.WriteLine(result); // PMGFEC
于 2013-05-14T12:13:11.453 回答