2

在 Ruby 中,我编写了一个简单的正则表达式来查找第一个{

txt.gsub! /^.*{/, '{'

每当我运行此程序时,出于我的目的,超过该点的所有内容都可以正常工作,但是会出现一个轻微的错误,该错误WARNING: Dangling metacharacter detected.类似于 What specific are dangling metacharacters,以及如何将我的正则表达式更改为尽可能明确和高效?

4

1 回答 1

3

{在正则表达式中有特殊含义。

PATTERN{m,n}

以上匹配 PATTERN 重复了 m~n 次。

如果您想避免该警告(以匹配字面意思 match {)将其转义。

txt.gsub! /^.*\{/, '{'

更新

BTW,因为是贪婪匹配,/^.*{/所以没有抓到第一名;它尽可能地消耗。{.*

于 2013-12-14T16:42:04.903 回答