如何使用正则表达式拆分格式字符串



我想使用正则表达式将像这样的字符串拆分为键和值@key='value'

我的正则表达式是[^@'=]+[^'=],当键和值的长度为> 1 时输出很好,但有时当长度只有 1 个字符时,输出不正确。

任何人都可以为我的正则表达式提出改进建议吗?

如果要捕获键和值,可以尝试以下操作:

/^@([^=]+)='([^']+)'$/

然后,您将拥有 $1 的密钥和 $2 的价值。

编辑:

我想我明白你在做什么。 只需更改正则表达式即可[^@'=]+以查看差异。 但是,除非您告诉我们您使用的语言和一些示例代码,否则我们无法告诉您。

^@[A-Za-z0-9]+s*=s*'[A-Za-z0-9s]+'
This captures 
@Key = 'value'
@key='value' 
@k = 'value'
etc..
A@([^=]+)='([^']+)'  

将用作正则表达式,但它不考虑撇号的转义。 这是 2 个捕获组... \A 说字符串的开头...然后@然后分组...。(not= 一个或多个) =' 组( not ' ) 后跟 '

最新更新