簡體   English   中英

使用正則表達式將單詞分隔為帶有分隔符的文本

[英]isolating words using regex expression to text with separators specific

我想隔離前。 3個字變成長文字

//more text
word word word (15:00 - - - 16:00 - - - 21:00)
//text ...

在這一點上,我想用正則表達式將時間隔離到括號中,但我要以這種格式返回15:00,16:00,21:00

我嘗試用3個字符串'\\).*' replace with ' ' '.*\\(' replace with ' ''---' replace with ', '問題是,文本中可能還有其他括號,那么它將無法像下面這樣工作:

(word) word word (19:00 - - - 20:00 - - - 21:00) asd asd asd (text text)

我僅限於替換操作,因為yahoo管道不是一種編程語言。

您只能提取類似於numbernumbercolumnnumbernumbernumber的字符串:

var result = str.match(/\b\d\d:\d\d\b/g);

結果將是具有所有匹配項的數組

演示

因此,您只能進行替換操作嗎? 因為在這里提取會更有意義。

要求和變量不是很清楚。 顯然(從評論中)您想保留的括號的前面和后面都有括號。 只有3次嗎? 還是2或4?

此版本假定您想保留的括號中總是有3次,而前面的其他所有內容都將被捕獲。

^(?:[^(]|\((?!(?:\d{1,2}:\d{2}[\s-]*){3}))*\(

正則表達式可視化

Debuggex演示

因此,這正則表達式說“行了比賽開始時選擇了一切的時代,那么一切,是不是一個(或一(后面沒有3時間符號,只有空白( \\s )和/或-它們之間”

之后,您可以執行以下操作:

'\).*' replace with ''
'[\s-]+' replace with ', '

暫無
暫無

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

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