我正在使用JavaScript中的文本對齊功能,並且想使用正常工作的正則表達式片段來處理以前的Ruby對齊功能。將Ruby正則表達式轉換爲JavaScript
的正則表達式如下:
/(?<=\s|\A).{1,#{length}}(?=\s|\z)/
我用這個作爲模板來提取文本行從沒有一個較大的字符串指定length
變量中這是的線 - 回報。正則表達式確保我能夠捕獲所有完整的單詞和必要的空白,並且不會截斷任何單詞。
我想創建一個這種正則表達式的JavaScript模擬。
我試過基本取代Ruby和JS之間的語法如下:
^\s|\A.{1,length}\s|\z$
沒有成功。任何幫助將不勝感激。
https://github.com/VerbalExpressions/JSVerbalExpressions可能不支持有用 –
回顧後,你這樣做是正確,你刪除它。現在,錨點'\ A'和'\ z'也不被支持。您將需要使用構造函數表示法來聲明動態模式,因爲變量插值在Ruby中不起作用。使用'var length = 5; var rx = RegExp(「(?:\\ s | ^)(。{1,」+ length +「})(?= \\ s | $)」,「g」);' - 您的值將是在組1中(您將需要在while循環中運行「RegExp#exec」)。 –