如何在括号后提取第一个"word"

  • 本文关键字:提取 第一个 word regex
  • 更新时间 :
  • 英文 :


很抱歉问这种问题,但我找不到方法,在过去的 2 个小时里我一直在努力。所以我能够为括号和名称创建模式,这很\) \w\.\w+","//1但我找不到一种方法来仅为名称编写模式以及如何从字符串中提取此名称并分配给变量。

这是字符串的示例

"(7:54) (Shotgun) B.Hoyer sacked at JAC 49 for -7 yards (R.Miller). FUMBLES (R.Miller), recovered by HOU-X.Su'a-Filo at JAC 50. X.Su'a-Filo to JAC 42 for 8 yards (T.Alualu; A.Branch)."

这是预期的结果

B.Hoyer

您需要重新转义,即在需要时重新添加双斜杠,但这样的事情会起作用吗?

^(d{1,2}:d{1,2})s(.*)s(.*?)s.*$

它们的关键在于(.*?)s,即空格之前任意数量的字符,即匹配的组将在第一个空格处终止。

编辑:请参阅下面的Dawg注释,解释^(?:[^)]*)){2}s*([w.]+)效率要高得多...

你可以做:

^(?:[^)]*)){2}s*([w.]+)

演示

最新更新