我有一個正則表達式的問題:我想找到每個組中有用戶「usager」的組。通常在linux中,用戶名位於最後一個「:」之後,所以這裏是我製作的正則表達式"[^:]+$".
。正則表達式Linux/etc/group
我該怎麼辦?我可以添加到我的正則表達式來找到「usager」?
我有一個正則表達式的問題:我想找到每個組中有用戶「usager」的組。通常在linux中,用戶名位於最後一個「:」之後,所以這裏是我製作的正則表達式"[^:]+$".
。正則表達式Linux/etc/group
我該怎麼辦?我可以添加到我的正則表達式來找到「usager」?
這應該可以做到。有可能是一個更好的方式來做到這一點,但至少它向您介紹了正向前查找
^\w*(?=:.*usager)
我用這個網站來測試正則表達式:http://gskinner.com/RegExr/?34598
感謝您的答案,但它並沒有實際上不工作。:$ – Isael 2013-03-16 04:12:43
如果您向我們提供/ etc/group的一部分,或許我們可以拿出更好的正則表達式。 – 2013-03-16 04:16:54
可能:
^([^:]*):.*\busager\b
括號捕獲組名; \b
標記字邊界,以便:usager,
,:usager$
,,usager,
和,usager$
全部匹配(其中$
標記條目的結尾)。如果您正則表達式的亞種不支持\b
,那麼你可以使用:
^([^:]*):.*[:,]usager(,|$)
代替,或用非捕獲括號:在這些主題
^([^:]*):.*[:,]usager(?:,|$)
或適當的變化的子您正在使用的正則表達式種類。
我添加了'你的正則表達式模式,請編輯'如果不是你的正則表達式的一部分,http://stackoverflow.com/editing-help#code – 2013-03-16 03:45:10
'[^:] + usager $'? – 2013-03-16 03:46:36
謝謝這大部分是我在尋找唯一的東西,我們應該使用*而不是+ – Isael 2013-03-16 04:44:11