我正在尝试获得一个与以下任何字符串匹配的正则表达式:
Sales Director:
Managing Director:
Sales Manager:
General Manager - Power:
Finance Director:
Procurement Manager:
Director:
Director:
Managing Director:
Finance Director:
Sales Director:
Managing Director:
Sales Manager:
Finance Director:
Procurement Manager:
但不是:
print directories and guides
defence Industry Directory
到目前为止,我有:
/(manager|director)/i
但这显然与目录,目录等相匹配。
我知道$符号表示单词的结尾,但我无法获得正确的语法。
我应该使用像\b
这样的字边界吗?
我也不想在句子中用经理或导演拉回整句话。我想我最多需要2个单词,其中经理或目录是第一个或第二个单词。这可能吗?
有人能指出我正确的方向吗?
答案 0 :(得分:2)
我应该使用像\ b?
这样的字边界吗?
是的,你需要字边界:
/\b(manager|director)\b/i
我想我最多需要2个单词,其中经理或导演是第一个或第二个单词。这可能吗?
是的,您可以使用单个正则表达式(rubular)执行此操作:
/^(?:\w+ +)?(manager|director)\b/i
这会搜索:
答案 1 :(得分:0)
正则表达式的不同“风格”具有不同的功能,因此您应该使用您正在使用的技术标记您的问题。
如果你的正则表达式引擎支持负前瞻(“零宽度断言”),你可以使用
director(?![yi])
要排除director
或y
后跟i
的实例。
真的,一个单词边界可能就好了。