簡體   English   中英

正則表達式匹配除特定標志格式的單詞之外的所有內容

[英]Regex Match everything except words of particular flag format

我需要一個可以匹配除隨機標志之外的所有其他內容的正則表達式..

所有標志都具有這種格式,以FLAG開頭並以;結尾

FLAG:random_token;

例子:

hello
hello world
lorem ipsum dolor sit amet
FLAG:xyz6767abcd45xyz; and lorem
lorem ipsum dolor
FLAG:abc123; and hello there,..
hello there....

output 我試圖獲得:

hello
hello world
lorem ipsum dolor sit amet
 and lorem
lorem ipsum dolor
 and hello there,..
hello there....

到目前為止,我已經嘗試過:
^(?:FLAG.(?*;).).*

(?.:*\bFLAG..*$)^.*$

但它無法提取 FLAG:random_token 中分號后的字符串;
任何幫助,將不勝感激

而且我已經嘗試從塊中刪除所有標志,但我稍后需要令牌值並且還認為正則表達式是最合適的。

一種方法是從輸入字符串中刪除標志,使用String.replace和正則表達式來匹配FLAG:和隨機令牌(一切都到下一個; ),然后您可以使用回調 function 來存儲令牌因為他們被發現:

 str = `hello hello world lorem ipsum dolor sit amet FLAG:xyz6767abcd45xyz; and lorem lorem ipsum dolor FLAG:abc123; and hello there,.. hello there....`; const tokens = []; str = str.replace(/FLAG:([^;]+);/g, (_, p1) => { tokens.push(p1); return ''; }); console.log(str); console.log(tokens);

暫無
暫無

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

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