簡體   English   中英

regEx文本替換為| 和()捕獲問題

[英]regEx text replace using | and () capture issue

我正在使用javaScript RegEx文字替換字符串的一部分,我想使用| 檢查可能發生的不同類型的模式,以及()捕獲我要替換的部分匹配內容。 它似乎沒有用,為什么呢?

這是我當前的regEx:

testText.replace(/(\w)\s+\w$|(\w)\s+$|\w+(\w)$/g, "$1...")

我正在猜測它出了點問題:這是我想要實現的目標:

給定“ xx”,我期望:

  "x..."

給定“ x”,我期望:

   "x...

給定“ werfdsdfasd”(沒有空格的單詞),我期望:

   "werfdsdfasd..."

問題是您有3個捕獲組,並且始終引用第一個捕獲組。

試試這個: (\\w+)(?:\\s+\\w$|\\s+$|$)

演示

因此,您想捕獲空格或行尾之前的所有內容。

(\w+)(\s+.*$|$)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM