我想这可能是一个愚蠢的错误,但对我来说,以下代码只返回一个包含 "M" 的数组。请看这里:
```html
为什么它不返回每个字符的数组?我一定错过了什么非常明显的东西,因为我看不出有什么问题?
编辑:刚意识到,我不需要+?但是没有它仍然无法正常工作。
编辑:抱歉!我会澄清一下:我的目标是允许用户输入一个正则表达式和样式以及一个输入文本文件,在任何匹配的地方,文本将被包围在一个html元素中,并应用样式,我不仅仅是将字符串拆分成字符,我只使用了给定的正则表达式,因为它是最简单的,尽管这是我愚蠢的行为。如何从scan()获取捕获组,或者这不可能吗?我看到$1包含“!”(最后一个匹配?),而不是其他任何内容。
编辑:天哪,今天真不是我的日子。正如injekt告诉我一样,捕获存储在单独的数组中。如何从原始字符串获取这些捕获的偏移量?我想能够获取捕获的偏移量,然后用另一个字符串将其包围。或者这就是gsub的作用?(我认为它只替换了匹配项,而不是捕获组)
希望这是最后一次编辑:好吧,让我重新开始吧:P
所以,我有一个字符串。用户将使用配置文件输入正则表达式,然后与每个捕获组相关联的样式。我需要能够扫描整个字符串,并获取每个组匹配的开始和结束或偏移量和大小。
因此,如果用户配置了
我想这可能是一个愚蠢的错误,但对我来说,以下代码只返回一个包含 "M" 的数组。请看这里:
```/(.)+?/.match("Many many characters!").captures
=> ["M"]
为什么它不返回每个字符的数组?我一定错过了什么非常明显的东西,因为我看不出有什么问题?
编辑:刚意识到,我不需要+?但是没有它仍然无法正常工作。
编辑:抱歉!我会澄清一下:我的目标是允许用户输入一个正则表达式和样式以及一个输入文本文件,在任何匹配的地方,文本将被包围在一个html元素中,并应用样式,我不仅仅是将字符串拆分成字符,我只使用了给定的正则表达式,因为它是最简单的,尽管这是我愚蠢的行为。如何从scan()获取捕获组,或者这不可能吗?我看到$1包含“!”(最后一个匹配?),而不是其他任何内容。
编辑:天哪,今天真不是我的日子。正如injekt告诉我一样,捕获存储在单独的数组中。如何从原始字符串获取这些捕获的偏移量?我想能够获取捕获的偏移量,然后用另一个字符串将其包围。或者这就是gsub的作用?(我认为它只替换了匹配项,而不是捕获组)
希望这是最后一次编辑:好吧,让我重新开始吧:P
所以,我有一个字符串。用户将使用配置文件输入正则表达式,然后与每个捕获组相关联的样式。我需要能够扫描整个字符串,并获取每个组匹配的开始和结束或偏移量和大小。
因此,如果用户配置了
([\w-\.]+)@((?:[\w]+\。)+)([a-zA-Z]{2,4})
(电子邮件地址),那么我应该能够获取:[ ["elliotpotts", 0, 11],
["sample.", 12, 7],
["com", 19, 3] ]
从字符串中提取:"elliotpotts@sample.com"
如果不清楚,请原谅我 :P。非常感谢大家迄今为止的帮助,感谢您的耐心!