【问题标题】:Find whole sentence with Regex [duplicate]用正则表达式查找整个句子[重复]
【发布时间】:2015-08-19 09:44:25
【问题描述】:

我很想将选择扩展到整个句子。但我无法生成正确的正则表达式。到目前为止,这是我的代码:

var re_string = "[.?!](.*?"+RegExp.quote(selector)+".*?[.?!])"
var re = new RegExp(re_string, "g");
var str = jQuery(wpccparams.selectors).text();
var m;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    console.log(m)
}

例子:

选择

"urn value to the sc" // [.?!](.*?urn value to the sc.*?[.?!])

应该给我

“很遗憾,它也将返回值回显到屏幕上,并没有真正将其返回给最初调用过滤器的函数。”

在本文中:

"。似乎 $post 仅适用于在特定时间执行的钩子。我有一个“init”钩子,需要使用 $post->ID 从数据库中提取一些数据。到目前为止,我唯一的解决方法是一直在the_content上添加另一个过滤器,它使用$post来获取我需要的信息。不幸的是,它也将返回值回显到屏幕上,并没有真正将它返回给最初调用过滤器的函数。这是代码提取我需要的数据,但回显并无法返回值:"

不工作示例:https://regex101.com/r/eS5jD9/2

应该也可以选择两个句子。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:
    [.?!]([^.?!]*?urn value to the sc.*?[.?!])
    

    使用这个。.*? 不应该匹配另一个.?!。所以使用negated quantifier。查看演示。

    https://regex101.com/r/eS5jD9/3

    【讨论】:

      猜你喜欢
      • 2019-01-24
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2018-01-23
      相关资源
      最近更新 更多