gpt4 book ai didi

使用正则表达式搜索的 JavaScript 字符串

转载 作者:行者123 更新时间:2023-12-02 18:08:59 25 4
gpt4 key购买 nike

我有一个由多个类组成的返回字符串:

"xxx1sbu xxx2sdf xxx1sef xxx1sb1 xxx1su xxx1s1 dxxx1s xxx1sdfg xxx1sbf"

我需要正则表达式来搜索字符串并根据以下条件查找类:

1) 类(class)以“xxx1s”开头

2) 类不超过 7 个字符(字母和数字),不包括后面的空格 ('xxx1sbu')

3)如果类('xxx1sbu')后面有空格,那么也会找到它,以便将其删除。

然后我使用正则表达式将找到的类替换为

var classesReplaced = classesString.replace(regex, "")

该字符串应如下所示:

"xxx2sdf dxxx1s xxx1sdfg"

到目前为止,我想出的最好的办法是:

RegExp: /\bxxx1s([a-z1-9])([a-z1-9])(\s)|\bxxx1s([a-z1-9])([a-z1-9])\b/g
pattern: \bxxx1s([a-z1-9])([a-z1-9])(\s)|\bxxx1s([a-z1-9])([a-z1-9])\b

我也尝试使用 javascript 来构建表达式,但它不断剥离 '\b':

var classId = 'xxx1s';
var regex2 = new RegExp('\b'+ classId +'([a-z1-9])([a-z1-9])(\s)|\b'+ classId +'([a-z1-9])([a-z1-9])\b','g');

有更好的写法吗?我对正则表达式的理解不太好!

提前谢谢

最佳答案

我认为这是您需要的命令和正则表达式:

NewString = OldString.replace( /\bxxx1s\S{0,2}\b\s?/, "" );

具体情况如下:

  • \b 是要替换的部分的起始文字边框。
  • xxx1s 是您要删除的基本文本。
  • \S{0,2}(大写 S)查找长度在 0 到 2 个字符之间的任何非空白字符;添加到上面的项目中,它可以确保只找到 7 个或更少字符的项目。
  • \b 是结束单词边框。
  • \s?(小写 s)查找尾随空格; ? 使其成为可选,因此不会跳过该系列中的最后一项。

关于使用正则表达式搜索的 JavaScript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com