Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式用于跨句子提取单词_Regex - Fatal编程技术网

Regex 正则表达式用于跨句子提取单词

Regex 正则表达式用于跨句子提取单词,regex,Regex,我的意见是 The world is round. We meet everyone quite soon. It is a small world. Be happy. 我想要包含单词small和happy的句子。 我的正则表达式是[.]\\s*?small.*?happy.*.[.] 预期产量为 It is a small world. Be happy. 但我得到的输出是 。我们很快就会见到每个人。这是一个小世界。要快乐 有人能帮我吗?使用这些正则表达式: (?<!\.)[^.]

我的意见是

The world is round. We meet everyone quite soon. It is a small world. Be happy.
我想要包含单词small和happy的句子。 我的正则表达式是[.]\\s*?small.*?happy.*.[.] 预期产量为

It is a small world. Be happy.
但我得到的输出是

。我们很快就会见到每个人。这是一个小世界。要快乐

有人能帮我吗?

使用这些正则表达式:

(?<!\.)[^.]*small[^.]*\.
(?<!\.)[^.]*happy[^.]*\.
这是一本书

? 断言我们不在单个句点之前,这允许在句子之间的空格之后进行匹配。 [^.]*匹配任何非点的字符序列,从而有效地限制句子之间的距离。 快乐角色序列快乐。 [^.]* \.以句号结束该行。 使用以下正则表达式:

(?<!\.)[^.]*small[^.]*\.
(?<!\.)[^.]*happy[^.]*\.
这是一本书

? 断言我们不在单个句点之前,这允许在句子之间的空格之后进行匹配。 [^.]*匹配任何非点的字符序列,从而有效地限制句子之间的距离。 快乐角色序列快乐。 [^.]* \.以句号结束该行。
你可以试试下面的正则表达式

(?<=^|\. )[^.]*small.*?happy[^.]*\.

你可以试试下面的正则表达式

(?<=^|\. )[^.]*small.*?happy[^.]*\.

只需使用以下正则表达式即可:

((?<=^|\. )[^.]*?(?:small|happy)[^.]*\.)

只需使用以下正则表达式即可:

((?<=^|\. )[^.]*?(?:small|happy)[^.]*\.)

您可以在此处使用单词边界\b

或者自己划定边界

(?:^|\. )([^.]*small.*?happy[^.]*\.)

您可以在此处使用单词边界\b

或者自己划定边界

(?:^|\. )([^.]*small.*?happy[^.]*\.)

背后积极的一面真的有必要吗?我认为\b就足够了。它在开始或刚刚结束时将匹配标记设置为\。下一句通常从哪里开始。如果我们提供一个更合适的正则表达式,那就好了。后面的积极的外观真的有必要吗?我认为\b就足够了。它在开始或刚刚结束时将匹配标记设置为\。下一句通常从哪里开始。如果我们提供一个更合适的正则表达式就好了。