按点分割字符串,除非点位于双引号内
我讨厌正则表达式,但对于我正在做的事情,我确信没有其他更简单的选择。 无论如何,我一直在使用这个表达式:
/(([a-zA-z_]+)[\.]?+)+/
尝试匹配与此类似的内容
"text.lol".something.another etc..
并且使用 preg_match 返回一个类似于的数组
Array
(
[0] => "text.lol"
[1] => something
[2] => another
)
但是我得到的只是数组中第一个匹配项两次?
I hate regular expressions, but for what I am doing I'm sure there is no other simpler option.
Anyway I have been working with this experssion:
/(([a-zA-z_]+)[\.]?+)+/
To try and match something similar to this
"text.lol".something.another etc..
And with preg_match return an array similar to
Array
(
[0] => "text.lol"
[1] => something
[2] => another
)
But instead all I am getting is the first matched item twice in the array?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这给出了您指定的输入所需的输出:
这是允许转义引号的完整实现:
输出:
This gives the output you want for the input you specified:
Here's a full implementation that allows escaped quotes:
Output: