有人能告诉我正则表达式吗?

时间:2014-12-24 16:36:38

标签: regex

我正在使用正则表达式,我需要根据以下场景创建一个用于验证字符串的表达式:

Solution.<word1|word2|word3>.<word4|word5>.anyword.(any word containing proj in it)

我试过

Solution.\b(word1|word2|word3)\b.\b(word4|word5)\b.(.*).\b(.*proj)\b

但是这允许像Solution.word1.word4.blabla.blabla.csproj这样的字符串,这意味着它允许在项目之前的任何内容,因为。*。

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

您可能想尝试(需要转义.并允许捕获组具有除.之外的字符):

Solution\.\b(word1|word2|word3)\b\.\b(word4|word5)\b\.([^\.]*)\.\b([^\.]*proj)\b

答案 1 :(得分:1)

看起来你需要这个正则表达式:

Solution\.(word1|word2|word3)\.(word4|word5)\.([^.]+)\..*?\bproj\b

RegEx Demo

答案 2 :(得分:1)

在没有更多说明的情况下,很难考虑您想要允许的实际字符串。

您可以尝试以下正则表达式。

Solution\.word[123]\.word[45]\.\w+\.\w*proj\b