正则表达式中悬空的元字符是什么?
在Ruby中,我写了一个简单的正则表达式来找到第一个{
:
txt.gsub! /^.*{/, '{'
每当我运行这个时,为了我的目的而过去的所有事情都可以正常工作,但是有一个轻微的错误,它沿着WARNING: Dangling metacharacter detected.
方向读取WARNING: Dangling metacharacter detected.
具体是什么悬挂元字符,以及如何将我的正则表达式更改为尽可能明确和有效?
{
在正则表达式中有特殊含义。
PATTERN{m,n}
以上匹配PATTERN重复m~n次。
如果你想避免那个警告(以匹配字面匹配{
)逃避它。
txt.gsub! /^.*\{/, '{'
UPDATE
BTW,/ /^.*{/
.*
{
没有赶上第一个{
因为.*
是贪婪的比赛; 它消耗尽可能多。