【问题标题】:Ith occurrence of a character using Regular Expression使用正则表达式出现第 I 个字符
【发布时间】:2013-12-23 13:42:40
【问题描述】:

如何使用正则表达式到达字符串中的第 i 个字符?

例如:

我有一个这样的字符串:

杰克、吉尔、玛丽、约翰、乔伊

我想达到逗号的第二次出现,并拿起第二次和第三次出现逗号之间的字符串,即我的正则表达式应该给我“玛丽”。

有什么方法可以使用正则表达式来完成吗?

【问题讨论】:

    标签: regex


    【解决方案1】:

    您可以使用此正则表达式来捕获第二个和第三个逗号之间的文本:

    ^(?:[^,]*,){2}([^,]*)
    

    在线演示:http://regex101.com/r/qU7fP7

    【讨论】:

    • 我觉得这很容易根据,在OP使用的语言中进行拆分,而不是使用正则表达式。
    • 您当然也可以使用语言,但并非总是可以使用。如您所见,这里的正则表达式并不太复杂。
    • 你可以用逗号分割,但用户想要正则表达式,所以我同意@anubhava 解决方案。
    • 是的问题想要mary 被捕获,这就是答案所提供的,因为您可以看到我提供的演示链接。
    • 不错的在线演示:+1
    猜你喜欢
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多