【问题标题】:How can I get "first" and "second" with a JavaScript regular expression in "This is my first sentence. This is my second sentence."? [closed]如何在“这是我的第一句话。这是我的第二句话”中使用 JavaScript 正则表达式获得“第一”和“第二”? [关闭]
【发布时间】:2017-07-26 09:07:05
【问题描述】:

如何在“这是我的第一句话。这是我的第二句话”中使用 javascript 正则表达式获得“第一”和“第二”。

你可以在这个网站上试试regular website

例如 在 python "(?<=(This is)).*?(?=sentence)" 中,这将起作用;但我不知道如何用 javascript 编写它

【问题讨论】:

  • 你能举个例子吗?
  • 如果您已经知道它是“第一”和“第二”,为什么还需要正则表达式之类的? :)
  • 了解正则表达式、进行最少的研究和/或反复试验可能会有所帮助。
  • @prasad in python 这会像这样 (?
  • @YuryTarabanko 在 python 中这会像这样 (?

标签: javascript regex


【解决方案1】:

试试这个模式\w+(?=(\s+)?sentence)

Demo regex

  1. 正向预测 (?=(\s+)?sentence)
  2. 第一捕获组(\s+)? ? Quantifier — 匹配 0 到 1 次,尽可能多次,根据需要回馈(贪心)
  3. \s+ 匹配任何空白字符(等于 [\r\n\t\f\v ])
  4. + Quantifier — 匹配一次到无限次,尽可能多次,根据需要回馈(贪婪) sentence 从字面上匹配字符句(不区分大小写)

var a = 'This is my first sentence.This is my second sentence'

console.log(a.match(/\w+(?=(\s+)?sentence)/ig))

Updated regex执行while循环并将值推送到数组

var s = '</span><span>wanna-string-a</span></a></span><span>wanna-string-b</span></a></span><span>wanna-string-c</span></a>';

var qualityRegex = /<span>(.*?)<\/span>/g;
var matches;
var qualities = [];

while (matches = qualityRegex.exec(s)) {
  qualities.push(matches[1]);
}

console.log(qualities)

【讨论】:

  • 太棒了,谢谢。这只是一个例子。真正的问题是如何获取 wanna-string 之间的字符串。我想要要得到想要的字符串,我怎么能得到它。谢谢!
  • 你好,很抱歉打扰你。我想要得到的结果是一个带有string.match的数组。例如wanna-string-a wanna-string-b wanna-string-c 我想得到 [wanna-string- a,想要字符串-b,想要搅拌-c]
  • 我的尝试在这里regex.zjmainstay.cn/r/mxdMbY/2 我想要完整的匹配是wanna-string-a.....
  • 检查我的更新答案
  • 我的天,你非常非常非常棒。非常非常非常感谢。
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
相关资源
最近更新 更多