我一直试图让它工作一个小时,但似乎无法在SO文章或Regex101.com的帮助下进行。
有一些数据,并希望返回不包含" / Common / http"的行。示例数据:
/Common/http and /Common/Another
/Common/http-mymon
/Common/another /Common/http
another line
我要找的结果是:
/Common/http-mymon
another line
我使用的任何正则表达式必须匹配整行,否则它在我使用的引擎中失败(https://github.com/jayway/JsonPath)。这意味着http
不起作用,但.*http.*
会起作用。
希望这是相当清楚的?
/帕特里克
答案 0 :(得分:2)
您可以使用这样的负向前瞻性正则表达式:
^(?:.*?/Common/http-mymon|(?!.*/Common/http)).*$
<强>更新强>
根据以下评论,OP希望排除/Common/http
后跟/
或空格。在这种情况下尝试这个正则表达式:
^(?!.*/Common/http(?:/|\s)).*$
答案 1 :(得分:1)
我认为你可以使用以下正则表达式
^(?!.*\/Common\/http(?:\s))(.*?)$
这是使用否定前瞻/Common/http
(?!.*\/Common\/http(?:\s))