gpt4 book ai didi

regex - 如果最后一个字符是空格,则负先行不捕获空格

转载 作者:行者123 更新时间:2023-11-29 12:45:37 25 4
gpt4 key购买 nike

我正在 try catch 字符串的前 36 个字符,除非最后一个字符是空格。我不想要空间。我在这里做错了什么?最后,我想让它检查它不是空格、逗号或冒号。这可能吗?

.{36}(?! )

另外,为什么没有选择第一个字母?

http://regex101.com/r/fP9tB8/1

最佳答案

我将您的请求解释为

Match the first 36 characters if the last character is not a space; match 35 otherwise.

这将完成

^.{35}[^ ]

demo

如果你想要“没有冒号、逗号或空格”,你需要

^.{35}[^:, ]

如果(根据您最近的评论)您想要“末尾没有空格、逗号或冒号 - 那么最长的字符串长度小于 36 个字符”,您会得到

^.{1,35}[^,: ](?![^: ,])

demo

解释:这匹配

^        starting at the beginning
.{1,35} at most 35 of anything
[^,: ] not followed by , : or space
(?![^:, ]) not followed by something that isn't , : or space (two negatives...)

确认:

poas apodka sapodkfas adksidfj odfda: asdfasdfasdfasdfasdf:  gi oaidfg

匹配到

poas apodka sapodkfas adksidfj odfda

但是

poas apodka sapodkfas adksidfj odf da: asdfasdfasdfasdfasdf:  gi oaidfg                                      

匹配到

poas apodka sapodkfas adksidfj odf

关于regex - 如果最后一个字符是空格,则负先行不捕获空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518270/

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