如何在javascript中用正则表达式替换动态字母



我有一个类似的字符串

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

我想用JavaScript中的正则表达式将其简化为CCD_ 1。

DynamicLettersLetterMix以英语为基础,可能包含数字。如果Type只是一个数字(例如:(Closedate<= '20210415') and (Type ='1')(,我知道如何进行归约:

replace(/ands*(s*Types*='d*')/i,"")

我不知道如何使用动态字符串Type来实现这一点。

我该怎么做?

您可以使用

.replace(/s*bands*(s*Types*='[^']*')/gi, '')

请参阅regex演示。

详细信息

  • s*-零个或多个空白
  • b——一个词的边界
  • and-一个词and
  • (Closedate<= '20210415')0-零个或多个空白
  • (-一个(字符
  • s*-零个或多个空白
  • Type-一个词Type
  • s*-零个或多个空白
  • ='-='字符串
  • [^']*-'之外的任何零个或多个字符,尽可能多
  • ')')字符串

查看JavaScript演示:

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

您只需匹配所需的片段:

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

Regex解释

相关内容

  • 没有找到相关文章

最新更新