如何制作一个合适的正则表达式

时间:2014-03-12 02:01:39

标签: regex

我认为制作正则表达式是一个相当简单的问题。这是我的字符串:

  Confl 2284341         /FOLDER/PATH/file.xlsx

我想确保该行有" Confl"在其中,我想捕捉完整的路径。我想出的是:

.*Confl .*(\/.+)

但这只捕获文件名,而不是完整路径(我可以忍受没有得到初始正斜杠)。看起来像是直截了当,但它正则表达式,所以......

有人帮帮我吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此模式:

\bConfl [^\/]*(\/\S*)

\b是一个单词边界

[^\/]表示"所有不是斜杠的字符"

\S是非白色字符

答案 1 :(得分:0)

更改

.*Confl .*(\/.+)

.*Confl .*?(/.+)

这会阻止中间.*成为" greedy"并捕获到 last 斜杠的所有内容。相反,问号使它成为"占有性",所以它在第一个斜线之前停止,这是你的目标。

除非有一些我误解的事情,否则你也不需要在我刚刚删除的右斜线之前使用逃生斜线。