正则表达式在前n项中找到匹配

时间:2015-12-31 10:54:52

标签: regex

我有一串 8个十六进制数字,例如:

3E%12%3%1F%3E%6%1%19

我需要检查数字12是否位于前4组数字中。

我猜这不应该是那么复杂,但我的搜索结果是空的。正则表达式对我来说总是一个麻烦,但在这种情况下我无法访问其他任何内容。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

^([^%]+%){0,3}12%

See it in action

<小时/> 这个想法是:

  • ^ - 从一开始
  • [^%]+% - 匹配多个非字符,后跟字符
  • {0,3} - 0 3 之间
  • 12% - 12%之后

答案 1 :(得分:1)

你去吧

^([^%]*%){4}(?<=.*12.*)

如果这是预期的

,这将匹配以下两者
1%312%..
1%123%..

检查解决方案是否匹配%123%

如果数字12应该独立,那么使用

^([^%]*%){4}(?<=.*\b12\b.*)
相关问题