php - PHP如何找到以结束标记开头的字符串以从内部获取字符串?
问题描述
$stringText = 'Example text [1212sdas|4542189789/] continue text...
我的结果最终是一个数组:['1212sdas|4542189789']
我的文字是:
“示例文本 [1212sdas|4542189789/]...”
我的结果应该是:
array('1212sdas|4542189789'
解决方案
用这个:
((?<=\[).*?(?=\/\]))
它匹配[
左侧和\]
右侧的最小模式。
(?<=...)
是积极的回顾,这意味着应该在左边。
(?=...)
是积极的前瞻,这意味着应该在右边。.*? 表示正则表达式可以找到的任何最小模式。否则它匹配第一个[
和最后一个之间的所有字符\]
。
推荐阅读
- dart - 当隐式转换关闭时,如何阻止 Dart Analyzer 抱怨 json_serializable 和 dart::convert 之间的类型不匹配?
- google-earth-engine - Google Earth Engine: trying to get an array of values from a feature collection but I'm getting an empty array out
- taskwarrior - Adding tasks that others depend on in one line
- amazon-web-services - querying AWS firehose data in s3 with Athena - can't query batches
- python - How to work with columns after using to_flat_index?
- homebrew - Does Homebrew keep a log of installed packages/casks?
- excel - Multiple VBA Worksheet Change Events
- graphql-spring-boot - GraphQL 引起:graphql.AssertException:您必须提供数据提取器。如何在这里存根数据提取器?
- sql - SYNTAX_ERROR: line 1:1: DISTINCT in window function parameters not yet supported
- c# - 在 C# 中运行 Powershell 脚本时出现转义字符问题