大家好,有一些正则表达式问题。我正在尝试解析具有以下格式的条形码:#D0208#@01^
我需要能够在@之后和^之前获取数据。我的正则表达式工作正常,直到我在#D0208#@1^
或#D0208#@A^
之类的指标之间放置了一条数据,然后一切都崩溃了,@符号变得很麻烦。这是我正在使用的正则代码:\w{0,}[^#D0208#\@\^\r]
任何想法或正则表达式专家都会非常感激。
答案 0 :(得分:0)
我会利用这样的字符类:
# Updates approx once a second
out = ""
for code, num in STATUS_CODES:
out += "{} | {}\r\n".format(code, num)
sys.stdout.write(out)
sys.stdout.flush()
这将匹配[^@]+@([^^]+)\^
,包括@
^
因此,如果用英语试图捕捉^
和@
之间的内容,那么这就可以了。
您可以在此处播放:https://regex101.com/r/JPYMmJ/1
答案 1 :(得分:0)
.*@.*\^
这个正则表达式假设
@
^
在最后@
和^
如果您的条形码前面有空格或其他内容,只需在前面添加\b
(字边界)或(?< )
(空格的正向前瞻)
如果表达式
,则此正则表达式不匹配@
或^
即。 <{1}}也匹配