[英]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.