2017-04-05 23 views
1

我有一個會話ID爲[0a7b2b7f-9a8f-4be5-9696-98d4b2d543f0],我試圖將它與模式匹配爲[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z-0-9]{12}記事本++但我找不到會話ID。RE:無法匹配會話ID

和我一起

[[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z-0-9]{12}]\[[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z-0-9]{12}\]嘗試很好,但無法找到它。

我可以知道我在這裏失蹤了嗎?

+0

我的記事本++抱怨'[a-z-0-9] {12}'無效,請嘗試'[a-z0-9] {12}' –

+0

@sebastian,我怎麼錯過了? –

回答

1

你可以試試這個:順便說一下

^\[[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\]$ 

Demo

,如果你需要有 ' - ',你在你的答案已經提到的,最後的程序[AZ-0-9] { 12}。那麼你應該做這樣的:[a-z0-9-]{12}

所以,總體來說它變成這樣:

^\[[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9-]{12}\]$ 

而且它在記事本中匹配++以及

+0

ID看起來像一個十六進制字符串,所以你可能應該有'a-f'而不是'a-z'(當然,在大多數數據中,假陽性的風險相當小)。 – tripleee

+0

@十投幣,三合一我會改變它爲'a-f'如果操作員問。但我也同意,如十六進制,它應該是a-f –

1

的原因是,與]-之間[之間2其他字符有特殊含義(所有字符之間)。 我認爲,你正在尋找文字減去字符。 最後片段更改爲:

  • [a-z\-0-9](減去字符必須用引號),或
  • [a-z0-9-](減去移至結束)。