[英]JS regex match zero or more optional start with key words
給定像keydown.capture.once.prevent.shift.control[arrowdown,arrowup]:silent
這樣的字符串我想匹配shift.control[arrowdown,arrowup]:silent
如果相同的keydown.capture.once.prevent.shift[arrowdown,arrowup]:silent
那么它應該匹配shift[arrowdown,arrowup]:silent
這里的關鍵字shift | 控件是可選的,例如: keydown.capture.once.prevent.[arrowdown,arrowup]:silent
,匹配字符串[arrowdown,arrowup]:silen
我寫了下面的正則表達式,它只能捕獲零個或一個關鍵字,但預期結果是零個或所有關鍵字匹配到單獨的組
(shift|control)?\[(.*?)\]:silent
,如果它們存在,我們如何捕獲所有關鍵字?
附加說明:關鍵字的順序無關緊要,例如可以是control.shift[]:silent
你可以試試這個:
(?:(shift|control|shift\.control|control\.shift))?(\[.*\]):silent
測試和output: https://regex101.com/r/rMSd2l/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.