所以我的字符串如下所示:如何匹配一切,直到第二次出现的角色?
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