簡體   English   中英

javascript中如何用正則表達式替換動態字母

[英]How to replace dynamic letters with regular expression in javascript

我有一個字符串

(Closedate<= '20210415') and (Type ='DynamicLettersLetterMix')

我想用 JavaScript 中的正則表達式將它減少到(Closedate<= '20210415')

DynamicLettersLetterMix是基於英文的,它可能包含數字。 如果Type只是一個數字,我知道如何減少(例如: (Closedate<= '20210415') and (Type ='1') ):

replace(/and\s*\(\s*Type\s*\=\'\d*\'\)/i,"")

我不知道如何使用作為動態字符串的Type來做到這一點。

我怎樣才能做到這一點?

你可以只匹配你需要的片段:

 const input = "(Closedate<= '20210415') and (Type ='DynamicLettersLetterMix')"; const result = input.match("\\(Closedate\\s*[<>=]+\\s*'[0-9]+'\\)")[0]; console.log(result);

正則表達式解釋

您可以使用

.replace(/\s*\band\s*\(\s*Type\s*='[^']*'\)/gi, '')

請參閱正則表達式演示

詳情

  • \s* - 零個或多個空格
  • \b - 單詞邊界
  • and - 一個詞and
  • \s* - 零個或多個空格
  • \( - 一個(字符
  • \s* - 零個或多個空格
  • Type - 一個單詞Type
  • \s* - 零個或多個空格
  • =' - 一個='字符串
  • [^']* -'之外的任何零個或多個字符,盡可能多
  • '\) - 一個')字符串。

請參閱 JavaScript 演示:

 const text = "(Closedate<= '20210415') and (Type ='1 DynamicLettersLetterMix 2-4;')"; console.log(text.replace(/\s*\band\s*\(\s*Type\s*='[^']*'\)/gi, ''));

暫無
暫無

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

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