php - '' php 之间匹配短语的正则表达式
问题描述
我想匹配'
和'
(单引号)内的内容。例如:'for example'
应该返回for
和example
。这只是我要分析的句子的一部分,我用于preg_split(\s)
整个句子,所以'for example'
will 变为'for and example'
.
现在我已经试过/^'(.*)|(.*)'$/
了,它只返回for
而不是example
,如果我把它说成是/^(.*)'|'(.*)$/
,它只返回example
而不是for
。我应该如何解决这个问题?
解决方案
要获取单个句子(然后您想要拆分),您可以使用preg_match_all()来捕获两个单引号之间的任何内容。
preg_match_all("~'([^']+)'~", $text, $matches)
$string = $matches[1];
$string
现在包含类似“带有单词的示例字符串”之类的内容。现在,如果您想根据特定的序列/字符拆分字符串,可以使用explode():
$string = "example string with words";
$result = explode(" ", $string);
print_r($result);
给你:
Array
(
[0] => example
[1] => string
[2] => with
[3] => words
)
推荐阅读
- python - Scrapy蜘蛛错误处理(scrapy.core.scraper)
- google-cloud-platform - 如何使用消息排序部署 pubsub 触发的云功能?
- c# - RDLC 报告错误:子报告 IIS 配置的数据检索失败
- python - 打印没有列名的熊猫df
- visual-studio-code - 如何隐藏或折叠 VSC 中的所有 javascript console.log 行
- go - Go 中的每次测试覆盖率
- powerbi - 使用 Azure 时序见解的 Power BI 报告 - 聚合错误
- java - 在构建字符串并将它们添加到 ArrayList 时出错
- python-3.x - 如何操作嵌套的 GET 调用
- firebase - 如何修复我的 Application.java 以使用新版本的 Firebase_messaging