正则表达式来捕获与非固定长度回顾后图案 - 分割字符串

正则表达式来捕获与非固定长度回顾后图案 - 分割字符串

问题描述:

我想的字符串分割成以下正则表达式来捕获与非固定长度回顾后图案 - 分割字符串

S <- "No. Ok (whatever). If you must. Please try to be careful (shakes head)." 

[1] No. 
[2] Ok (whatever). If you must. 
[3] Please try to be careful (shakes head). 

的图案是各(...)之前第一.

我熟悉(?<=...)(即积极lookbehind),但这似乎不适用于非固定长度的模式。我想知道,如果我对积极向后看是错误的,或者如果有一些正则表达式的魔术来做到这一点。谢谢!

+1

对不起,我不知道如何最好地解释它。我正在寻找将'S'分割成左括号('(')')的句号('.')。例如,'No'后面的第一个出现(后面)在'好'后... – CPak

请注意,我不太了解ruby,但应该有类似split的方法,它使用正则表达式模式作为分隔符并相应地拆分字符串。

使用这个表达式:

(?<=\.) (?=[^.]+?\(.+?\)) 

这看起来空格字符。在空间后面,必须有一个点(?<=\.)。在(?=之后,必须有一串不是点的字符[^.]+?,然后是一对带有\(.+?\)内的东西的括号。

在线尝试:https://regex101.com/r/8PcbFJ/1

+0

太棒了,非常感谢![^。] +?'的使用非常具有启发性 – CPak

+0

对于其他SO用户,在'R'中''strsplit(S,“(? CPak