gpt4 book ai didi

python - 如何检查一个字符串是否包含另一个被特殊字符包围的字符串?

转载 作者:行者123 更新时间:2023-12-04 09:56:11 24 4
gpt4 key购买 nike

我将提供一个示例来了解我的意思:

my_string1='005010X221A1~ST*835*0001~BPR*I*642.65*C*'
my_string2='005010X221A1~ST*835*0001~BPRI*642.65*C*'

我想知道“BPR”何时有来自双方的特殊字符,特殊字符是指不是字母或数字的所有内容。

我尝试了以下操作,但它不起作用,因为它对两个字符串都返回 False,而对于 string1,我需要 True:
res=False

if re.search(r'(BPR(?<=/D)|BPR(?<=/W))&(BPR(?=\D)|BPR(?=\W))',my_string1) != None:

res=True

我以前从来没有用过're',所以如果我用错了,请纠正我,或者有更好的方法来做到这一点。谢谢大家!

最佳答案

In [1]: import re

In [2]: re.search('[^A-Za-z0-9]BPR[^A-Za-z0-9]', '005010X221A1~ST*835*0001~BPR*I*642.65*C*')
Out[2]: <re.Match object; span=(24, 29), match='~BPR*'>

In [3]: re.search('[^A-Za-z0-9]BPR[^A-Za-z0-9]', '005010X221A1~ST*835*0001~BPRI*642.65*C*')

正则表达式找到一个不是 A 到 Z、a 到 z 或 0 到 9 后跟 BPR 等的字符。

关于python - 如何检查一个字符串是否包含另一个被特殊字符包围的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61919405/

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