gpt4 book ai didi

regex - 通过正则表达式分割字符串

转载 作者:行者123 更新时间:2023-12-02 03:39:58 25 4
gpt4 key购买 nike

所以我想用空格分割字符串,除非字符串的该部分包含感叹号。

示例:

ABC DEF !GHI JKL MNO! PQR

会变成:

["ABC", "DEF", "GHI JKL MNO", "PQR"]

目前,这是我的正则表达式(我用 regex101.com 检查了它并且它有效)

[^\s]*![^!]*![^\s]*|[^\s!!]+

我的分割代码是

sample = "ABC DEF !GHI JKL MNO! PQR"
print(sample.split(r"[^\s]*![^!]*![^\s]*|[^\s!!]+").strip("!"))

最佳答案

您可以使用以下方式匹配预期的子字符串

res = re.findall(r'![^!]*!|\S+', s)

请参阅regex demo .

详细信息

  • ![^!]*! - 匹配 !,然后匹配 ! 之外的任意 0+ 个字符,然后再次匹配 !
  • | - 或
  • \S+ - 1 个以上非空白字符。

Python demo :

import re
rx = r"![^!]*!|\S+"
s = "ABC DEF !GHI JKL MNO! PQR"
print(re.findall(rx, s))
# => ['ABC', 'DEF', '!GHI JKL MNO!', 'PQR']

关于regex - 通过正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48964279/

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