我使用以下RegEx在键和值中划分字符串:
字符串:
type="post" id="1" text="Blog Post"
正则表达式:
/(?<name>\\S+)=["']?(?P<value>(?:.(?!["']?\\s+(?:\\S+)=|[>"']))+.)["']?/u
只要每个值至少有2个字符,那就可以正常工作。我的值只有1个字符长(就像这里的id)我在数字之后得到一个引用。因此对于具有ID的此示例,我得到以下输出:
type => post
id => 1"
text => Blog Post
我不知道我在RegEx中的错误在哪里。也许有人可以给我一个提示?
非常感谢!
答案 0 :(得分:1)
我认为最新观点是多余的。 你能试试这个:
/(?<name>\\S+)=["']?(?P<value>(?:.(?!["']?\\s+(?:\\S+)=|[>"']))+)["']?/u
我不知道你如何使用这个正则表达式,但我认为你可以使用这个选项:
/(\w+)=["']?([^"']+)["']/ug
或者向我提供更多信息。