2017-10-12 43 views
0

检查字符或整数我想检查我的字符串2-5-8 & 9必须是字母字符& 1,4,7,10 & 11应为数值,和所有的其他职位可以有字母或数字。正则表达式在特定位置

我已经写了下面的正则表达式是:

^(?:.{1}|.{4}|.{7}|.{8})([A-Z])(?:.{0}|.{3}|.{6}|.{9}|.{10})([0-9])$ 

,如果我不结合这两种捕获组,它工作正常。

下面是一个例子了这个表达式测试:https://regex101.com/r/k8rmSV/1

+1

你不能让正则表达式引擎在执行时跳到不同的位置。该字符串从左向右分析。你可能会在一定程度上使用lookaround,但这不是你在这里需要的。只需根据要求定义图案位置。你目前的小提琴和模式是非常模糊的。请检查[此演示](https://regex101.com/r/VzYJLo/1)。 –

+0

很理解。 –

+0

阿里,我相信下面的答案不是你所需要的。但是,目前还不清楚你需要什么。如果您需要更多帮助,只需编辑问题以包含更多测试用例。 –

回答

2

至于建议的Wiktor的只是去通过串步步

[A-Z][0-9].[0-9][A-Z].[0-9][A-Z][A-Z][0-9] 

检查regex101更多的测试。

+0

工程像一个魅力,但没有得到我想要的。也许一个投票将帮助我.. –

+0

@AliSajid'.'匹配任何字符 - 你真的需要这种行为? –