REGEX在空格之间提取字符串

时间:2018-02-14 09:50:34

标签: regex

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

baby

我需要提取“(\b\w*\b)

我想我可以从这开始:{{1}}匹配每个单词,但我不知道如何让它跳过第一场比赛。

2 个答案:

答案 0 :(得分:0)

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

上面的正则表达式:

  • 首先匹配单词字符(第一个单词)的非空序列。
  • 然后它匹配一个非空的白色字符(空格)序列 第1和第2个字。
  • 最后,捕获组只捕获第二个单词。

请注意\s+(\w+)是错误的,因为源字符串可以以空格开头 在这种情况下,这个正则表达式会抓住第一个字。

答案 1 :(得分:0)

感谢建议伙伴, 我修改了一点你的正则表达式,我终于找到了我需要的东西:

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

这一个(?<=.)(\b\w+\b)也有点好,但是如果我有像“你好我的爱”这样的字符串将“ba-by”分成“ba”和“by”,就会失败。