Regex 正则表达式提取空格之间的字符串

Regex 正则表达式提取空格之间的字符串,regex,Regex,我是第一次使用正则表达式的新手。 给定一个包含多个单词的字符串,我需要提取第二个单词(单词=到空格之间的任何字符数) 我需要提取“baby” 我想我可以从这个开始:(\b\w*\b)匹配每个单词,但我不知道如何让它跳过第一个匹配。即使没有\b,你也可以这样做。 使用\w+\s+(\w+)并从捕获组1中读取单词 上述正则表达式: First mathes是一个非空的单词字符序列(第一个单词) 然后,它会在两个字符之间匹配一个非空的白字符序列(空格) 单词1和2 最后,捕获组只捕获第二个单词 请

我是第一次使用正则表达式的新手。 给定一个包含多个单词的字符串,我需要提取第二个单词(单词=到空格之间的任何字符数)

我需要提取“
baby


我想我可以从这个开始:
(\b\w*\b)
匹配每个单词,但我不知道如何让它跳过第一个匹配。

即使没有
\b
,你也可以这样做。 使用
\w+\s+(\w+)
并从捕获组1中读取单词

上述正则表达式:

  • First mathes是一个非空的单词字符序列(第一个单词)
  • 然后,它会在两个字符之间匹配一个非空的白字符序列(空格) 单词1和2
  • 最后,捕获组只捕获第二个单词
请注意,
\s+(\w+)
是错误的,因为源字符串可以以空格开头
在这种情况下,这个正则表达式会捕获第一个单词。

即使没有
\b
,也可以这样做。 使用
\w+\s+(\w+)
并从捕获组1中读取单词

上述正则表达式:

  • First mathes是一个非空的单词字符序列(第一个单词)
  • 然后,它会在两个字符之间匹配一个非空的白字符序列(空格) 单词1和2
  • 最后,捕获组只捕获第二个单词
请注意,
\s+(\w+)
是错误的,因为源字符串可以以空格开头
在这种情况下,这个正则表达式会抓住第一个词。

谢谢大家的建议, 我对你的正则表达式做了一些修改,终于找到了我需要的:

(?<=\s)(.*?)(?=\s)

(?谢谢各位的建议,
我对你的正则表达式做了一些修改,终于找到了我需要的:

(?<=\s)(.*?)(?=\s)

(?要得到“baby”,你可以做
b\w*\y
。虽然我不明白你的意思,但我不知道如何跳过第一个匹配。你能试试
(?请指定你在标记中使用的语言来得到“baby”您可以执行
b\w*\y
。虽然我无法理解您的意思,但我不知道如何跳过第一个匹配。您可以尝试
(?请指定您在标记中使用的语言