簡體   English   中英

如何使用正則表達式在Javascript中查找大海撈針中的分隔針?

[英]How to use a regular expression to find delimited needles within a haystack in Javascript?

在Javascript中,如何使用正則表達式迭代字符串以隔離以“{”開頭並以“}”字符結尾的所有字符串出現?

因此,例如,haystack字符串可能是:

Lorem ipsum dolor {sit} amet, consectetur adipiscing elit. {Praesent} tincidunt, sapien non ultricies posuere, justo felis {placerat erat}, a laoreet felis justo in nisl. Donec.

因此,該函數需要返回以下值:

  1. Praesent
  2. 臨時的

所有幫助贊賞!

你可以這樣做:

var subject = 'Lorem ipsum dolor {sit} amet, consectetur adipiscing elit. {Praesent} tincidunt, sapien non ultricies posuere, justo felis {placerat erat}, a laoreet felis justo in nisl. Donec.'
subject.match(/\{[^}]+\}/g);

請注意,它仍然包含{}

string.match(/{.*?}/g);

詳細說明:我們使用Strings的match方法來執行regexp搜索。 正則表達式末尾的g代表“全局”,意味着查找所有匹配項。 g模式下執行時,match方法返回所有匹配的數組。

至於正則表達式本身,它相當簡單。 只需找到{}之間的任何字符( . )的零個或多個( * )實例。

暫無
暫無

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

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