gpt4 book ai didi

regex - 匹配任何东西?

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

使用正则表达式如何匹配字符串中的所有内容?这可能没有意义,但请继续阅读。

所以拿这个词baby例如匹配所有不是 b 的内容你会做类似 [^b] 的事情这将匹配 ay .够简单!但是如何在这个字符串中Ben sits on a bench我可以匹配所有不匹配的东西吗ben所以我会尝试匹配 sits on a ch ?

更好的是匹配所有不是模式的东西?例如在 1a2be3匹配所有不匹配的内容 number,letter,number ,因此它将匹配字符串中除 1a2 之外的所有组合?

最佳答案

(?:ben)|(.)

这个正则表达式的作用是匹配 ben或任何其他字符,但是, ben没有被捕获,但其他字符被捕获。所以你会得到很多匹配,除了 ben的。然后您可以将所有这些匹配项连接在一起以获得没有 ben 的字符串。的。

这是python中的一个例子。
import re

thestr = "Ben sits on a bench"
regex = r'(?:ben)|(.)'

matches = re.findall(regex, thestr, re.IGNORECASE)
print ''.join(matches)

这将输出:
 sits on a ch

注意前导空格。您当然可以通过添加 .strip() 来摆脱它。 .

另请注意,执行替换 ben 的正则表达式可能会更快使用空字符串获得相同的结果。但是如果你想在更复杂的正则表达式中使用这种技术,它可能会派上用场。

当然,您也可以在 ben 的位置放置更复杂的正则表达式。 ,例如您的 number,letter,number例子是:
(?:[0-9][a-z][0-9])|(.)

关于regex - 匹配任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20492477/

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