'txt=123,txt=kg66vv,hhj,txt=6966,ggg'.split(/[^a-z0-9]/i).filter(item => item.indexOf('6') !== -1) 你就说用没用到正则吧
``` let str = `txt=123,txt=kg66vv,hhj,txt=6966,ggg` console.log(str.split(',').filter(v=>v.includes(`txt=`)).map(v=>v.substring(4)).filter(v=>v.includes(6))); ``` 正则?什么正则,懒得问 chatgpt 要正则写法了,JavaScript 直接梭
(? item.split('=')[1]) : []; console.log(results); ``` 这段代码的工作方式如下: - `/txt=([^,]*6[^,]*)/g`:这是正则表达式,其与上述 Python 例子中的功能相同,但使用了全局搜索标志`g`,以便找到所有匹配项。 - `text.match(pattern)`:这将返回所有匹配的项,例如`['txt=kg66vv', 'txt=6966']`。 - `item.split('=')[1]`:将每个匹配的字符串分割,并取等号后面的部分,这样就只剩下所需的字段值了。 - `results`:这将存储最终提取的结果,如`['kg66vv', '6966']`。 如果你的字符串结构有所不同,或者有其他特定的需求,可能需要调整正则表达式或处理逻辑。
```js s = 'txt=123,txt=kg66vv,hhj,txt=6966,ggg' s.match(/(?<=(?:^|,)[^=]+=)([^,]*6[^,]*)(?=,|$)/g) ```