在 Ruby 中,我编写了一个简单的正则表达式来查找第一个 {
:
txt.gsub! /^.*{/, '{'
每当我运行此命令时,超出该点的所有内容都可以正常工作,但是会出现一个轻微错误,类似于警告:检测到悬挂元字符。
具体是什么悬挂元字符,以及我如何将我的正则表达式更改为尽可能明确和高效?
最佳答案
{
在正则表达式中具有特殊含义。
PATTERN{m,n}
以上匹配 PATTERN 重复 m~n 次。
如果您想避免该警告(以字面匹配{
),请转义它。
txt.gsub! /^.*\{/, '{'
更新
顺便说一句,/^.*{/
没有捕获第一个 {
,因为 .*
是贪婪匹配;它消耗尽可能多的能量。
关于ruby - 正则表达式中的悬挂元字符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20585639/