我目前正在努力使用RegEx规则从字符串中提取文本部分(2个字符)。
该字符串具有以下格式:
"ML6G 100.00 TEST"
我想在这里提取的是L6(这可以改变,但长度总是2个字符)我知道L6之前的字符长度可以不同(长1,2,3,4,5个字符) )
所以字符串看起来像这样:
" MMMMML6G 132.00 CBT" - >这里我想提取L6,但之前的字符长度可以不同(1,2,3,4,5个字符长)。
我知道我可以使用以下表达式提取/匹配文本:
^.{0,2}
但我不知道如何在(1或2或......或5个字符)之后提取某些东西
答案 0 :(得分:1)
假设只有几个' M'以前和永远都是' G'之后,我会采取以下正则表达式:
<div class="rounded center conc bottom"></div>
<div class="rounded centerblinders"></div>
<div class="rounded center conc top"></div>
说明的
[M] +匹配1个或更多&#39; M&#39;
(。{2,2})匹配任何长度为2的字符,在sperate组中返回这些字符。
&#39; G&#39;匹配&#39; G&#39; ; - )
答案 1 :(得分:1)
使用反向引用在开始时消耗重复的字符,然后捕获接下来的2个字符:
^(.)\1*(..)
这会捕获您想要的字符,例如{2}中的L6
。
答案 2 :(得分:1)
您可以使用简单的positive lookahead来查找第一个分段(空格),并从第一个分段的最后一个字符开始追溯2个位置。
(?=(.{2}).\s).*$