【问题标题】:Only select text between parentheses [duplicate]仅选择括号之间的文本[重复]
【发布时间】:2015-02-26 00:00:06
【问题描述】:

我正在处理php 中的代码,我想使用regular expressions,所以这是我拥有的文件

(1) DF Mikael Nilsson ## 27,帕纳辛奈科斯 (GRE)
(3) DF Olof Mellberg ## 64,阿斯顿维拉 (ENG)

所以我给自己做了一个regular expression,也就是这个#\W[A-Z]{3}\S#,但结果是(ENG),我希望结果只有ENGGRE,所以只有括号内的文字。

我希望有人可以帮助我, 谢谢你的负担

【问题讨论】:

  • 只需将分组括号放在内部部分周围:#\W([A-Z]{3})\S#,然后您将在匹配数组中获得一个额外的条目,其中仅包含里面的内容。
  • @CBroe 这仍然选择括号..
  • 正如我所说,是的 - 您将首先获得 whole 匹配,但 inner 匹配作为单独的值(结果中的额外条目数组)。
  • @CBroe 好吧!谢谢你告诉我的工作

标签: php regex


【解决方案1】:
(?:\()([A-Z]{3})(?:\))

当匹配它时,你应该从中捕获一个,它只是字母。

【讨论】:

  • 这里不需要非捕获组...结果是一样的!!
  • 这段代码仍然在选择每个括号
  • @mr13018 使用preg_match,结果存储在$matches[1]
  • @mr13018 那么你的结果就是$match[1]!
  • @mr13018 或者,如果您不想对代码进行太多更改,请使用#\W\K[A-Z]{3}(?=\S)#
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多