正则表达式中悬空的元字符是什么?

时间:2013-12-14 16:38:19

标签: ruby regex metacharacters

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

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

每当我运行此项目时,为了我的目的而过去的所有内容都可以正常工作,但是有一个轻微的错误,它沿着WARNING: Dangling metacharacter detected.的方向读取。具体是悬挂元字符,以及如何将我的正则表达式更改为尽可能明确有效?

1 个答案:

答案 0 :(得分:3)

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

PATTERN{m,n}

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

如果你想避免那个警告(以匹配字面上的匹配{),请逃避它。

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

<强>更新

BTW,/^.*{/没有抓住第一个{,因为.*是贪婪的匹配;它消耗尽可能多。