所以我的字符串如下所示:如何匹配一切,直到第二次出現的角色?
Basic information, advanced information, super information, no information
我想捕捉一切都交給第二個逗號,所以我得到:
基本信息,先進的信息
什麼是對的正則表達式?
我想:(.*,.*),
但我得到
基本信息,先進的信息,超級信息,
所以我的字符串如下所示:如何匹配一切,直到第二次出現的角色?
Basic information, advanced information, super information, no information
我想捕捉一切都交給第二個逗號,所以我得到:
基本信息,先進的信息
什麼是對的正則表達式?
我想:(.*,.*),
但我得到
基本信息,先進的信息,超級信息,
這將捕獲最多,但不包括第二個逗號:
[^,]*,[^,]*
英語翻譯:
[^,]*
=許多非逗號字符可能
,
=逗號
[^,]*
=許多非逗號字符儘可能
[...]
是一個字符類。 [abc]
的意思是「a或b或c」,並且[^abc]
意味着除a或b或c之外的任何東西。
你可以嘗試^(.*?,.*?),
的問題是,.*
是貪婪和匹配字符的最大數量。這個? *後面的行爲改變爲非貪婪。
你也可以把括號放在每個。*?段來分別捕獲字符串,如果你想。
幾乎作品,讓我知道:基本信息,高級信息,(逗號結尾) – Micor 2010-12-03 21:29:04
這也匹配第二個逗號。從這個問題是否確定還不清楚 - 他說他想要「基本信息,先進信息」,但也許他的意思是捕獲組捕獲,而不是整個正則表達式捕獲。 – 2010-12-03 21:31:10
直至包括或最多但不包括? – 2010-12-03 21:23:43