gpt4 book ai didi

正则表达式在连字符前后获取文本

转载 作者:行者123 更新时间:2023-12-03 10:59:52 27 4
gpt4 key购买 nike

我有这个字符串:

"Common Waxbill - Estrilda astrild"

如何为连字符前后的单词编写2个单独的正则表达式?我想要的输出是:
"Common Waxbill" 


"Estrilda astrild"

最佳答案

如果您不能使用后向搜索,但您的字符串始终采用相同的格式,并且不能包含多个连字符,则可以使用

第一个为^[^-]*[^ -],第二个为\w[^-]*$(如果连字符后的第一个非空格不一定是单词字符,则为[^ -][^-]*$

一点解释:^[^-]*[^ -]匹配字符串的开头(anchor ^),后跟任意数量的字符,这些字符不是连字符,最后是不是连字符或空格的字符(只是从匹配项中排除最后一个空格)。
[^ -][^-]*$采用相同的方法,但反过来,首先匹配既不是空格也不是连字符的字符,然后匹配任意数量的字符(既不是连字符),最后是字符串的结尾(anchor $)。 \w[^-]*$基本相同,它使用更严格的\w而不是[^ -]。再次用于从匹配项中排除连字符后的空格。

关于正则表达式在连字符前后获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37190978/

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