如果单词不为空,则必须遵循正则表达式

时间:2014-10-03 09:24:47

标签: regex

匹配以下字符串的正则表达式是什么:

base.string
a.base.string
b.base.string
cde.base.string

这不应该匹配:

a.b.c.d.base.string
abase.string
bbase.string
cdebase.string
.base.string

我想匹配并捕获a,b,cde和#34; base.string"

中的空字符串

(a,b,cde用作示例。在base.string为空字符串之前可以出现什么,或者任何非空字符串后跟一个点。)

3 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

^(?:([^.]+)\.)?base\.string$

RegEx Demo

答案 1 :(得分:2)

要排除.base.string,请使用:

^(?:[^.]+\.)?base\.string$

答案 2 :(得分:2)

  

我想匹配并捕获a,b,cde以及" base.string"

中的空字符串

试试这个:

^(?:(?:a|b|cde)\.)?base\.string$

Regular expression visualization

DEMO

通用正则表达式

^(?:([^.]+)[.])?base\.string$

Regular expression visualization