使用正则表达式在php中分割字符串
我怎样才能分割这个字符串:
|^^^*|^^^*|^^^*|^^^*|^^^*|myvalue^nao^nao^nao*|myvalue^nao^nao^nao*|myvalue^nao^nao^nao*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*
所以我只能得到值“mayvalue”。
目前,我正在使用:
$text = preg_split("/[^\|(*.?)\^$]/", $other);
但它返回 myvalue^nao
有什么想法吗?
how can I split this string:
|^^^*|^^^*|^^^*|^^^*|^^^*|myvalue^nao^nao^nao*|myvalue^nao^nao^nao*|myvalue^nao^nao^nao*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*|^^^*
so I can only get the value "mayvalue".
For the moment, I'm using:
$text = preg_split("/[^\|(*.?)\^$]/", $other);
But it returns myvalue^nao
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以拆分两次,一次在
|
上,另一次在^
上;如果您的大字符串位于$input
中,则:那么
$want[0]
就有您想要的内容。这可能比试图想出一个正则表达式来分割更容易。演示:http://ideone.com/pxvay
由于 shesek 还没有回来,我将包括他们建议的方法。您还可以使用
explode
两次,因为您使用简单的分隔符:$want[0]
再次满足您的需求。这种方法的演示:http://ideone.com/SwGEH
You could split twice, once on
|
and again on^
; if your big string is in$input
, then:Then
$want[0]
has what you're after. This would probably be easier than trying to come up with one regex to split with.Demo: http://ideone.com/pxvay
Since shesek hasn't come back I'll include their suggested approach. You can also use
explode
twice since you're working with simple delimiters:and again
$want[0]
has what you're looking for.And a demo of this approach: http://ideone.com/SwGEH
这将获取数组中
|
之后和^
之前放置的所有“myvalue”和其他字符串,$matches[1]
:This will get all "myvalue" and other strings placed after
|
and before^
in an array,$matches[1]
: