我只需要匹配下面列出的四个文件中的前两个文件:
- ABD_DEF_GHIJ_20150611
- ABD_DEF_GHIJ
- ABD_DEF_GHIJ_FX_20150611
- ABD_DEF_GHIJ_FX
醇>
我正在使用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上:
这也有效:
\bABD_DEF_GHIJ(?!_FX_?)(_\d{8}|\b)