我只需要提取以8位数和一个空格,然后是2位开始的行,然后忽略单词TDS。
输入
91298254 02/07/2021 91298254 3181753640RE,MAN-1 200,000.00
91298254 20/09/2021 TDS -577.19
91298268 03/07/2021 91298268 3181753647RE,MAN-2 166,861.00
91298268 20/09/2021 TDS -130.37输出
91298254 02/07/2021 91298254 3181753640RE,MAN-1 200,000.00
91298268 03/07/2021 91298268 3181753647RE,MAN-2 166,861.00我尝试过\b\d{8} \d{2}.*,它给了我8位空间和2位数的所有行。
这里需要你的建议。
你好,曼杰什
发布于 2021-11-02 10:09:46
您可以使用
^\d{8} \d{2}(?!.*\bTDS\b).*见regex演示。详细信息
^ -字符串的开始\d{8} \d{2} -八位数,空格,两位数(?!.*\bTDS\b) -如果在当前位置右侧有除行中断字符以外的零个或多个字符,而TDS作为一个完整的单词,则会导致匹配失败。.* -剩下的部分。发布于 2021-11-02 10:16:30
发布于 2021-11-02 10:19:07
const str = `91298254 02/07/2021 91298254 3181753640RE,MAN-1 200,000.00
91298254 20/09/2021 TDS -577.19
91298268 03/07/2021 91298268 3181753647RE,MAN-2 166,861.00
91298268 20/09/2021 TDS -130.37`
const result = str.replace(/(^|\n)\d{8}\s+\d{2}\/\d{2}\/\d{4}\s+TDS[^\n]*/g, '')
console.log(result)
https://stackoverflow.com/questions/69808524
复制相似问题