簡體   English   中英

如何使用RegEx僅獲得第一個字符匹配

[英]How to get only first character match with RegEx

我想使用RegEX在JavaScript中拆分字符串。

這是示例字符串:

REQUEST : LOREMLOREM : LOREM2LOREM2

是否可以將其拆分為:

[REQUEST , LOREMLOREM : LOREM2LOREM2]

我嘗試使用/:?/g ,但是不起作用。

除了使用正則表達式外,您還可以在冒號上進行分割,然后使用shift的組合從數組中刪除並返回第一項,然后使用冒號進行連接以連接其余項:

 let str = "REQUEST : LOREMLOREM : LOREM2LOREM2"; $parts = str.split(':'); [a, b] = [$parts.shift().trim(), $parts.join(':').trim()]; console.log(a); console.log(b); 

您可以簡單地執行以下操作:

var parts = str.match(/([^:]*)\s*:\s*(.*)/).slice(1)

這將匹配整個字符串並提取兩個所需部分。 slice操作使結果為純數組,並從結果中刪除整個字符串。

只需最后刪除全局修飾符“ g”“?” 量詞。 沒有這些表達式,表達式將僅返回第一個匹配項。

您的新RegEx將為/:/

要測試您的正則表達式,請訪問https://regex101.com/r/11VFJ8/2

暫無
暫無

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

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