gpt4 book ai didi

regex - 否定正则表达式中的特定组

转载 作者:行者123 更新时间:2023-12-04 02:01:19 25 4
gpt4 key购买 nike

如何获得不包含特定组的字符串?

(?:[0-9-+*/()x]|abs|pow|ln|pi|e|a?(sin|cos|tan)h?)+

上面的字符串是数学表达式的正则表达式。你如何得到不是数学表达式的字符串?

示例输入字符串: WIDTH+LENGTH*abs(2)
预期输出: WIDTH LENGTH

最佳答案

您可以在负前瞻中使用正则表达式,然后添加 \w匹配字母数字符号的速记类,或 [a-zA-Z]\b字界:

(?![0-9-+*/()x]|abs|pow|ln|pi|e|a?(?:sin|cos|tan)h?)\b[a-zA-Z]+\b

regex demo

因为我们只允许带有 [a-zA-Z] 的字母,我们可以将其进一步减少到
(?!x|abs|pow|ln|pi|e|a?(?:sin|cos|tan)h?)\b[a-zA-Z]+\b

another demo

关于regex - 否定正则表达式中的特定组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997574/

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