php - 正则表达式在php中带有换行符
问题描述
我正在寻找 php 中的正则表达式而没有达到我的目标......这是我的字符串:
$string = 'xxxxxxxxxxxx "segment
to
recovered with line breaks" xxxxx "other segment without line break" xxxx';
我想检索带换行符的引号中的段,而不检索引号中的段而没有换行符。
这是我当前的正则表达式:
preg_match('/\"[^\"$]*\"/', $string, $match);
你能让我离开那里吗?
解决方案
使用积极的前瞻来匹配换行符:
$string = 'xxxxxxxxxxxx "segment
to
recovered with line breaks" xxxxx "other segment without line break" xxxx';
preg_match_all('/"(?=[^"]*\R)[^"]*"/', $string, $match);
print_r($match);
该部分(?=[^"]*\R)
确保我们在比赛中有一个换行符。
输出:
Array
(
[0] => Array
(
[0] => "segment
to
recovered with line breaks"
)
)
推荐阅读
- mysql - SQL Fiddle 无法创建外键
- regex - 正则表达式 Python:“拉出”整个组,但将其他所有内容保留在字符串中
- mysql - 使用 CASE 对 mysql 中的行求和时获取值
- python - 在 pandas 中按时间搜索或分组时间序列数据
- javascript - 未找到此依赖项:./node_modules..../src/App.vue 中的 components/main/Footer
- java - 防止 TableColumn 仅由用户调整大小
- java - Android - HttpURLConnection 不上传多个文件
- mysql - 基于另一个变量的频率分组的变量平均值 (SQL)
- c# - 解析平面数据文件以进行读/写
- python - 如何从文本文件中导入列表(整数)列表并以数学方式处理它们?