正则表达式掩盖模式

时间:2016-03-01 21:10:03

标签: regex

我有这些输入:

DFDBDFDFDF21R123
DFDBDFDFDF34R123

我希望匹配这些输入,除了位置9和10,如下所示:

DFDBDFDFxxR123
DFDBDFDFxxR123

所以,要明确:匹配1-8,排除9-10,匹配11-16。

1 个答案:

答案 0 :(得分:1)

扩展https://stackoverflow.com/users/557597/sln

的答案
  
    

({8})..(+)

  

'''你对正则表达式的理解中缺少的是分组'

(SOME MATCHING SUB-STRING A)(SOME MATCHING SUB-STRING B)

如果你使用这样的正则表达式,你可以做很多很好的事情,包括'拔出'一行的部分,然后重新安排它们。但它也可以帮助你分组'部分'你要搜索的内容。

所以他的

.{8}

匹配'。'这是任何一个字符'然后{8}表示匹配任何单个字符8次。

 (.{8})

表示对前8个字符进行分组'使用。

..

表示匹配任意两个字符'

 .+ 

表示'匹配任何字符'

中的一个或多个
 (.+)

表示"对任何一个或多个角色中的一个或多个进行分组。供以后使用"

...因此

当你把它们放在一起时,你得到了

 (.{8})..(.+)

这意味着'匹配前8个字符(任意8个字符)作为组1'那么'任何两个角色'然后' 1个或多个字符作为组2'

这将允许你(取决于你的正则表达式客户端/等)使用$ 1和$ 2来打印,使用或......无论......组1和/或组2的值。

希望这有帮助。