Regex 正则表达式-无法删除@符号

Regex 正则表达式-无法删除@符号,regex,barcode,Regex,Barcode,大家好,有一些正则表达式问题。我正在尝试解析具有以下格式的条形码:D0208#@01^我需要能够获取@之后和^之前的数据。我的正则表达式工作得很好,直到我在诸如#D0208#@1^或#D0208#@a^等指示器之间插入了一段数据,然后一切都崩溃了,@符号变得很麻烦。这是我目前正在使用的正则表达式代码:\w{0,}[^ D0208\\@\^\r]任何想法或正则表达式大师都将不胜感激。我将利用这样的字符类: [^@]+@([^^]+)\^ 它将匹配到并包括一个@,然后捕获到^之前的非^ 因此,如果

大家好,有一些正则表达式问题。我正在尝试解析具有以下格式的条形码:
D0208#@01^
我需要能够获取@之后和^之前的数据。我的正则表达式工作得很好,直到我在诸如
#D0208#@1^
#D0208#@a^
等指示器之间插入了一段数据,然后一切都崩溃了,@符号变得很麻烦。这是我目前正在使用的正则表达式代码:
\w{0,}[^ D0208\\@\^\r]
任何想法或正则表达式大师都将不胜感激。

我将利用这样的字符类:

[^@]+@([^^]+)\^
它将匹配到并包括一个
@
,然后捕获到
^
之前的非
^

因此,如果你用英语试图捕捉
@
^
之间的内容,这就可以了

你可以在这里玩:

这个正则表达式假设

  • 您的字符串中有一个
    @
  • ^
    在末尾
  • 整个输入是条形码
  • 介于和之前的符号可以是任何符号,包括
    @
    ^
  • 如果您的条形码前面总是有空格或其他内容,只需在前面添加一个
    \b
    (单词边界)或一个
    (?
    )(对空格的正向前瞻)

    如果表达式匹配,则此正则表达式不匹配

  • 不包含
    @
  • 不以
    ^

  • i、 e.
    @^
    是否也匹配

    您的正则表达式使用字符类进行分组?添加一个语言标记,并用该语言显示成功匹配和不成功匹配的示例。也许您应该使用以下内容:
    \@(.*)\^
    然后获取第一个组。
    .*@.*\^