[英]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}))*\(
因此,這正則表達式說“行了比賽開始時選擇了一切的時代,那么一切,是不是一個(
或一(
后面沒有3時間符號,只有空白( \\s
)和/或-
它們之間”
之后,您可以執行以下操作:
'\).*' replace with ''
'[\s-]+' replace with ', '
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.