正则表达式对我来说完全是空白。我现在正在处理 TextMate 中的一个,它可以做我想做的事情......但我不知道为什么它会做我想做的事情。
/[[:alpha:]]+|( )/(?1::$0)/g
这在 TextMate 片段中使用,它的作用是获取一个标签并将其作为 id 名称输出。因此,如果我在第一个位置输入“名字”,则会输出“名字”。以前它看起来像这样:
/[[:alpha:]]+|( )/(?1:_:/L$0)/g (it might have been \L instead)
这会将“名字”变成“名字”。所以我知道下划线为空格添加了下划线,并且 /L 将所有内容都小写了......但我无法弄清楚其余部分的作用或原因。
有人愿意逐条解释吗?
编辑
这是有问题的实际代码段:
<column header="$1"><xmod:field name="${2:${1/[[:alpha:]]+|( )/(?1::$0)/g}}"/></column>