正则表达式匹配包含点的单词?

时间:2015-05-31 13:06:45

标签: regex

我想说我想匹配可能包含点的网址。

我使用的解析器有一个" url包含"功能,所以如果我键入"你"它会匹配" youtube.com/blahblah"和任何其他包含"你"的网址。

但是,如果我使用" youtube",它会匹配" youtube.com"但不是" youtu.be"。

例如,如果我想匹配apple,banana,app.le,banan.a和ba.nana,但不匹配orange或ora.nge,我还需要添加到(apple | banana)匹配那些包含点在其中任何位置的单词?

2 个答案:

答案 0 :(得分:3)

您必须在每对字母之间匹配可选点:

(a\.?p\.?p\.?l\.?e|b\.?a\.?n\.?a\.?n\.?a)

虽然这会允许任意数量的点。要将点数限制为最大值1,请添加一个负向前视:

(?!.*?\..*?\.)(a\.?p\.?p\.?l\.?e|b\.?a\.?n\.?a\.?n\.?a)

答案 1 :(得分:0)

(y(|\.)o(|\.)u(|\.)t(|\.)u(|\.)b(|\.)e)