2012-09-22 29 views
2

我有在JavaScript的多線匹配的情況下,只有正則表達式匹配的「 N」使用環視

  • 匹配「\ n」,不消耗其它字符
  • 「\ n」爲不行的開頭(空行)
  • 「\ n」後面沒有「#」

看來它應該像/(?<=.+)\n(?!#)/m
但JavaScript不支持lookbehin d,我怎麼寫這個正則表達式?

回答

1

你不能。一個典型的向後看的伎倆是暫時扭轉字符串並採取行動,但只有在沒有向前看的情況下才有效。有關其他一些可能性,請參閱http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript,其中包括支持lookbehind和lookahead(但不表示爲單個正則表達式)的可能性 - 請參閱「使用while循環和regexp.lastIndex模仿lookbehind」一節。