gpt4 book ai didi

regex - 如何在正则表达式模式中添加多个要忽略的单词

转载 作者:行者123 更新时间:2023-12-01 09:02:47 27 4
gpt4 key购买 nike

对以下模式的任何建议:

^FILE\s+(myapps.*[^build-]?(Ess\.xml)) [A-Z0-9:]*\d$

上面的模式将得到以“FILE”开头并包含“myapps”后跟任何字符但不应包含单词“build-”或“someword”并以“Ess.xml”结尾的行。

我能够构建模式,但我无法添加超过一个单词来忽略,即“build_”和“someword”

以下是一些示例:

  1. 文件 myapps/abc/dfe/asd123123/sad/abcdEss.xml ABCD123:234234:AAS234:1
  2. 文件 myapps/efgh/qwe/advd123123/qwreqar/bad/dsgEss.xml C03858:BC4E4A:1

  3. FILE efgh/qwe/advd123123/bad/abcd.xlf C03858:BC4E4A:1 - 无效,因为在 FILE

  4. 之后不以“myapps”开头
  5. DIR myapps/yry/hjkyi/qweq/tyu/somefile_taskmenu.xml EWEF123SSD:234WEEDWE234:AASJH234:1 - 无效,因为不是以 FILE 开头
  6. FILE myapps/efgh/qwe/advd123123/bad/build-dsgEss.xlf C03858:BC4E4A:1 - 无效,因为在单词 build-dsgEss.xlf 中包含 build-
  7. FILE myapps/abc/dfe/someword/sad/abcdEss.xml ABCD123:234234:AAS234:1 - 无效,因为不包含 noship

最佳答案

您的正则表达式有点误导 - 您错误地使用了字符类。这个词:

[build-]

是一个“字符类”,意思是“列出的任何单个字符”,这不是您想要的。

满足您要求的正则表达式(作为 java 字符串)是:

"^(?!.*build-)(?!.*someword)FILE\\s+fusionapps.*Ess\\.xml [A-Z0-9:]+:\\d$"

这个正则表达式使用两个锚定的否定前瞻来断言字符序列不会出现在输入的任何地方。

查看 live demo关于你的例子正确匹配的rubular

关于regex - 如何在正则表达式模式中添加多个要忽略的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17869026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com