Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby捕获两个冒号之间的单词_Ruby_Regex - Fatal编程技术网

Ruby捕获两个冒号之间的单词

Ruby捕获两个冒号之间的单词,ruby,regex,Ruby,Regex,我想捕捉两个冒号之间的任何单词。我试过这个: 你好:姓名: 你今天在做什么,标题: $:名称:,有一个可爱的:事件: 除了最后一行之外,它还能工作: 比赛3 1. :姓名:,有一个可爱的:活动: 它被第二个闭合冒号和第三个开放冒号绊倒了。它应该在最后一行分别捕获:name:和:event: (\:[^:]*\:) [^:]表示除“:”以外的任何内容 请注意,此表达式也将匹配:: 这是您的红宝石链接更新: [^:]表示除“:”以外的任何内容 请注意,此表达式也将匹配:: 下面是更新的rubula

我想捕捉两个冒号之间的任何单词。我试过这个:

你好:姓名:

你今天在做什么,标题:

$:名称:,有一个可爱的:事件:

除了最后一行之外,它还能工作:

比赛3 1. :姓名:,有一个可爱的:活动:

它被第二个闭合冒号和第三个开放冒号绊倒了。它应该在最后一行分别捕获:name:和:event:

(\:[^:]*\:)
[^:]表示除“:”以外的任何内容

请注意,此表达式也将匹配::

这是您的红宝石链接更新:

[^:]表示除“:”以外的任何内容

请注意,此表达式也将匹配::


下面是更新的rubular链接:。

您需要一个非贪婪正则表达式:

(\:.*?\:)

那个女孩?将匹配最短的字符串,而。*匹配找到的最长字符串。

您需要一个非贪婪正则表达式:

(\:.*?\:)
那个女孩?将匹配最短的字符串,而。*匹配找到的最长字符串。

对于两个冒号之间的任何单词:

(?<=:)\b.*?\b(?=:)
对于两个冒号之间的任何单词:

(?<=:)\b.*?\b(?=:)

请注意此exp将匹配::还。请注意此exp将匹配::还。这是正确答案。它排除了周围的冒号,并省略了不必要的中间信息,如示例中的“have a可爱”。这是正确的答案。它排除了周围的冒号,并省略了不需要的中间信息,如示例中的“have a lovely”。