正则表达式匹配部分单词

时间:2014-12-31 00:28:44

标签: regex

我正在为set字符串上的包含类型搜索寻找正则表达式。我的数据库中的值是....

Price Override Report
Shorts And Overs Report
Import Status

在我的应用程序中,我的用户可以传入“REP”,“REPORT”或“REPORTS”,我创建了一个正则表达式,并且所有这些都应该匹配前两行。我认为规则应该是正则表达式字符串中至少包含三个字符包含在数据库行中,但这三个值可以位于字符串的任何部分。

我已经给了它一个裂缝,但是它有点强硬。到目前为止,我有......

REP{0,1}ORTS{0,1}

但我认为这不对。

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

此表达式:REP(?:ORTS?)?

将匹配:

  • REP
  • REPORT
  • 报告

说明:

REP      (?# match REP literally)
(?:      (?# start non-capturing group)
  ORT    (?# match ORT literally)
  S?     (?# optionally match S literally)
)?       (?# close optional non-capturing group)

答案 1 :(得分:2)

^.*?(?:\bREP\b|\bREPORTS?\b).*$

尝试此选项以匹配包含REPREPORTREPORTS的所有行。请参阅演示。

https://regex101.com/r/rU8yP6/5