Textmate片段格式化字符串(正则表达式?)

前端之家收集整理的这篇文章主要介绍了Textmate片段格式化字符串(正则表达式?)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个可以改变它的textmate片段:

HELLO WORLD<br />
SAY ANYTHING

对此:

hello world say anything

有帮助吗?

解决方法

在Allan Odgaard自己的帮助下:

片段

begin

  in:  ${1:Hello}

  out: ${1/\A\s+|\s+\Z|\s*\n\s*|(\<br\s*\/?\>)|(.)/(?1: :\L$2)/ig}

end

测试

begin

  in:  THIS IS<br />
  WORKING<BR>
  VERY NICELY<br/>

  EVEN WITH MULTIPLE<BR />
  LINE BREAKS!

  out: this is working very nicely even with multiple line breaks!

end

正则表达式匹配说明

\A      beginning of buffer
\s+     followed by one or more whitespace

|       OR

\s+     one or more whitespace
\Z      followed by end of buffer

|       OR

\s*     zero or more whitespace
\n      followed by newline
\s*     followed by zero or more whitespace

|       OR

(       Capture to 1
  <br   Literal `<br'
  \s*   followed by zero or more whitespace
  \/?   followed by one or zero literal `/'
  >     followed by literal `>'
)       End capture

|       OR

(       Capture to 2
  .     Any character
)       End capture

正则表达式替换说明

注意:条件替换是TextMate独有的

(?1:    IF Capture 1 is found
        Insert space (' ')
  :     ELSE
  \L$2  Insert lowercase(Capture 2)
)       ENDIF

正则表达式修饰符解释

i       case insensitive
g       global match/replace

猜你在找的正则表达式相关文章