gpt4 book ai didi

regex - 在不同数量的字符之间匹配正则表达式

转载 作者:行者123 更新时间:2023-12-01 10:39:25 26 4
gpt4 key购买 nike

以下正则表达式匹配下面示例中的“EXAMPLETEXT”,但我希望能够使用 \d* 来匹配一个或多个数字,而不是 \d\d。这可能还是有更好的方法?

字符串:

09.04.EXAMPLETEXT.14

正则表达式:

(?<=\.\d\d\.)(.*)(?=\.)

最佳答案

你不能在 perl、java、python 正则表达式中使用 *+? 量词(它们不会支持可变长度后视)。但是您可以在 c# 系列中的 lookbehind 中使用这些符号。

如果你使用的是 php 或 perl,你可以使用 \K

\.\d*\.\K(.*)(?=\.)

所有语言的另一个 hack 是,只打印所有捕获的字符。

\.\d*\.(.*)\.

贪婪的例子:

>>> s = "09.043443.EXAMPLETEXT.14"
>>> re.search(r'\.\d*\.(.*)\.', s).group(1)
'EXAMPLETEXT'

非贪婪匹配示例:

>>> re.search(r'\.\d*\.(.*?)\.', s).group(1)
'EXAMPLETEXT'

使用否定的字符类。

>>> re.search(r'\.\d*\.([^.]*)\.', s).group(1)
'EXAMPLETEXT'

关于regex - 在不同数量的字符之间匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31492664/

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