【问题标题】:How to write a regex that find any values except for those following another regex? [duplicate]如何编写一个正则表达式来查找除跟随另一个正则表达式之外的任何值? [复制]
【发布时间】:2020-06-17 21:06:22
【问题描述】:

我一直在搜索逆正则表达式,但找不到。

我准备了一个正则表达式,可以在表中找到特定模式。

正则表达式: ^R([0-9]{3}|[0-9]{4})[-][a-zA-Z]{2,3}[-]([0-9]{5}|[0-9]{4})$
示例: R788-COV-2040

现在我想查找所有不遵循此正则表达式模式的值。

每个在线答案都是关于不包含特定字符串但不包含正则表达式。

【问题讨论】:

  • 查找“消极的后视”
  • 关于那个 supr dupr,检查@AlanMoore 的答案。这是典型的,就像我的一样。 接受的答案主要是需要数小时调查但不直接回答问题的链接。
  • 据我了解,你得到一个匹配给定字符串的一个或多个子字符串的正则表达式,s1s2s3,...匹配s1s2s2s3 等之间的子字符串的正则表达式。如果这是正确的,则存在一个问题,即可能不存在“反向”正则表达式,或者可能存在多个有效的正则表达式,在这种情况下,我怀疑是否可以从给定的正则表达式中派生出一个。数学上的一个类比是,当f(x) = 0 对所有x 时,f 不存在反函数。

标签: regex regex-group regex-negation regex-greedy


【解决方案1】:

否定不想要的^(?!R([0-9]{3,4})-[a-zA-Z]{2,3}-([0-9]{4,5})$).+

demo

nate - 我对你的正则表达式进行了一些分解,现在表现不错

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2023-03-30
    • 2018-03-21
    相关资源
    最近更新 更多