This question already has answers here:
Regular expression to extract whole sentences with matching word
                                
                                    (4个答案)
                                
                        
                                2年前关闭。
            
                    
我希望将选择范围扩大到整个句子。但是我无法产生正确的正则表达式。到目前为止,这是我的代码:

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

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

最佳答案

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


请使用此内容。.*?应该与另一个.?!不匹配。因此请使用negated quantifier。请参见演示。

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

关于javascript - 用正则表达式查找整个句子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32091947/

10-11 06:08