Regex 数字字符串中精确数字的正则表达式

Regex 数字字符串中精确数字的正则表达式,regex,regexp-like,Regex,Regexp Like,我一直在尝试为以下问题创建正则表达式: A) PAR B) 1234 A) B) 1234 给定上面的字符串A和B,我希望根据以下重要规则查找所有匹配项,其中这些值按顺序出现,不考虑空格等: 字符串A和B不能作为另一个较大字符串的子字符串存在 给定的字符串B必须出现在A之后 给定的字符串B必须自身出现,而不是另一个数字的一部分 以下是一些潜在匹配的示例: 帕尔1234 标准杆1234 第56781234段 第99912349991234段 标准杆1234 PAR1234-122 第1234

我一直在尝试为以下问题创建正则表达式:

A) PAR B) 1234 A) B) 1234 给定上面的字符串A和B,我希望根据以下重要规则查找所有匹配项,其中这些值按顺序出现,不考虑空格等:

  • 字符串A和B不能作为另一个较大字符串的子字符串存在
  • 给定的字符串B必须出现在A之后
  • 给定的字符串B必须自身出现,而不是另一个数字的一部分
  • 以下是一些潜在匹配的示例:

  • 帕尔1234
  • 标准杆1234
  • 第56781234段
  • 第99912349991234段
  • 标准杆1234
  • PAR1234-122
  • 第1234-233段
  • 任何文本第1234-233段
  • 但是,以下内容不应匹配:

  • 第1234部分-PAR是部分
  • 的子串
  • 1234 -PAR是除< /LI>的子串
  • 1234999-1234是1234999的子串
  • 第9991234-1234段是9991234的子串
  • 第9991234999-1234段是9991234999的子串
  • 之前 不幸的是,我试图在oracle中使用此功能,但没有\b

    我试过了

    \W*PAR\W*1234

    但这与上述潜在匹配中的第3项不匹配。因此,我尝试了许多变化,这些变化对一些人有效,但不是所有人都有效

    我想知道是否有一种表达方式可以表达我正在努力实现的目标。任何帮助都将不胜感激


    谢谢。

    此解决方案使用
    \b
    检查


    请参见此处的演示:

    这行吗?PAR.*1234不完全正确,因为这也会在不匹配的结果中返回α1-5。
    \bPAR1234\b|\bPAR\b.*\b1234\b