[英]RegExp: match with optional wrapping text
考慮字符串hello/pls/friend
。 我可以使用RegExp /\\w+/g
來捕獲這些單詞,從而產生['hello', 'pls', 'friend']
。
現在考慮字符串(hello)/pls/friend
。 我現在不僅對單詞感興趣,而且對每個單詞是否都包含在括號內也感興趣。
我提出的一個解決方案是“復制”我的原始表達式,添加帶有(轉義)括號的第二個版本。 說... /(\\(\\w+\\))|(\\w+)/g
我寧願不復制原始表達式,所以我想知道是否有更簡潔的方法來解決這個問題。
目標/要求是:
這與String.prototype.replace()
一起使用,並指定了一個回調,因此如果它對您有用,請記住這一點。
經過一些光操作后,應該可以生成如下對象:
[ { word: "hello", wrapped: true }, { word: "pls", wrapped: false }, { word: "friend", wrapped: false } ]
不匹配的括號,即(hello/pls
,不應匹配)。
這些是JavaScript RegExps,因此請記住這些限制
它不需要處理多個包裝的單詞,例如(hello/pls)/friend
。
感謝您花時間閱讀本文,RegExp專業人士!
\(([^/)]*)\)|[^/)(]*
你可以使用這個。所有匹配都將在wrapped=False
。所有捕獲的組都應該在wrapped = True
。
見演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.