正则表达式的不同部分

时间:2013-08-17 13:56:25

标签: regex for-loop line

有数据样本我需要找到正确的正则表达式以适合所有样本

1) NG277 5.5x13/4x100 D73.1 ET38 BKF = 5.5x13/4x100 D73.1 ET38
2) MC7/B 7x17/5x114.3 D70.6 ET54 Silver = 7x17/5x114.3 D70.6 ET54
3) S 7 Modify 7.5x18/5x112 D73 ET42 Silver = 7.5x18/5x112 D73 ET42
4) MK-Course Mod.08 7.5x18/5x100 D56.1 ET55
5) Fever-5R 8x18/5x120 D74.1 ET15 Black Mirror
6) R6162 9x20/5x108 D67.1 ET40 S
7) 35 Anniversary 8x18/5x120 ET34 Black
8) Lounge 8 & 10 8x18/5x110 D75 ET38 Black
9) RSL 5068TL 8.5x18/5x112 D71.6 ET40 MLB
10 Килиманджаро-5-оригинал 6x15/5x114.3 D67.1 ET52.5
11) RK L31F 6x15/4x100 D54.1 ET48 S
12 X-113 7x17/5x115 D70.1 ET41 BK/FP

我需要删除所有内容,直到5x13或7.5x13之类的值以及ET38 ET55之类的值之后的所有内容。 这是我的正则表达式^[-+!\sА-яа-яA-zA-Z]*|[-\sА-яа-яA-zA-Z]*$,但它不正常。我希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:1)

此正则表达式将匹配您的行并为您要保留的部分创建捕获组:

^.*?([\d.]+\s*(x|х)\s*[\d.]+\s*\/.*ET-?\d+).*$
                 ^ note that this x is actually unicode code point U+0445
                                               (CYRILLIC SMALL LETTER EF)

只需输入此作为搜索字词,然后输入第一个捕获组(通常表示为\ 1)作为替换。

查看实际操作:http://regex101.com/r/xW8lG7

在记事本++中,只需使用search-> replace。启用正则表达式,输入正则表达式并替换为$ 1。

答案 1 :(得分:0)

在notepad ++中,你可以这样做:

search: ^.+?(\d+(?:\.\d+)?x\d+(?:\.\d+)?.+?ET\d+).+?$
replace with: $1