我搜索一個正則表達式模式,它不應該匹配一個組,但其他的一切。
繼正則表達式的工作basicly:Antimatch與正則表達式
index\.php\?page=(?:.*)&tagID=([0-9]+)$
但.*
不應該匹配TaggedObjects。
感謝您的任何建議。
我搜索一個正則表達式模式,它不應該匹配一個組,但其他的一切。
繼正則表達式的工作basicly:Antimatch與正則表達式
index\.php\?page=(?:.*)&tagID=([0-9]+)$
但.*
不應該匹配TaggedObjects。
感謝您的任何建議。
(?:.*)
是不必要的 - 你沒有分組任何東西,所以.*
意味着完全相同。但這不是你的問題的答案。
,以匹配不包含另一個預定義的字符串任何字符串(比如TaggedObjects
),使用
(?:(?!TaggedObjects).)*
在你的榜樣,
index\.php\?page=(?:(?!TaggedObjects).)*&tagID=([0-9]+)$
將匹配
index.php?page=blahblah&tagID=1234
並且不會匹配
index.php?page=blahTaggedObjectsblah&tagID=1234
如果你想允許的比賽,只有排除完全匹配的字符串TaggedObjects
,然後用
index\.php\?page=(?!TaggedObjects&tagID=([0-9]+)$).*&tagID=([0-9]+)$
試試這個。我認爲你的意思是你想失敗的比賽,如果字符串包含'TaggedObjects'發生
index\.php\?page=(?!.*TaggedObjects).*&tagID=([0-9]+)$
TaggedObjects?這是不應該匹配的字符串嗎? – Jaskirat 2011-01-11 17:53:07
負面看向任何人? – delnan 2011-01-11 17:53:39