注册匹配单词

时间:2015-06-22 09:30:01

标签: regex

我只需要匹配下面列出的四个文件中的前两个文件:

  1. ABD_DEF_GHIJ_20150611
  2. ABD_DEF_GHIJ
  3. ABD_DEF_GHIJ_FX_20150611
  4. ABD_DEF_GHIJ_FX
  5. 我正在使用reg ex - ABD_DEF_GHIJ(_\d{8}|\b)并且它正常工作。我想知道我的解决方案是否合适,或者有更好的替代解决方案。

4 个答案:

答案 0 :(得分:2)

您可以使用否定前瞻,排除那些在初始字母字符串后面有a = ['one', 'two'] a = str(a) 的人

_FX

请参阅example here

答案 1 :(得分:1)

使用锚点并将数字部分设为可选。

^ABD_DEF_GHIJ(?:_\d{8})?$

DEMO

答案 2 :(得分:1)

似乎您不希望包含FX的文件,使用负向前看,如果您认为有必要,还可以附加可选的(_\d{8})?

^ABD_DEF_GHIJ(?!_FX)

DEMO

DEMO 2

答案 3 :(得分:1)

试试这个RegEx:

ABD_DEF_GHIJ(?!_FX_?)(_\d{8})?

regexpal.com上: enter image description here

这也有效:

\bABD_DEF_GHIJ(?!_FX_?)(_\d{8}|\b)