我想将字符串拆分为以下
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).
该模式是每个.
之前的第一个(...)
。
我熟悉(?<=...)
(即正向后视),但这似乎不适用于非固定长度模式。我想知道我是否对正面观察是错误的,或者是否有一些正则表达式的魔法来做到这一点。谢谢!
答案 0 :(得分:2)
请注意,我不太了解ruby,但应该有类似split
方法的方法,它使用正则表达式作为分隔符并相应地拆分字符串。
使用此正则表达式:
(?<=\.) (?=[^.]+?\(.+?\))
这会查找空格字符。在空间后面,必须有一个点(?<=\.)
。在(?=
之后,必须有一堆不是点[^.]+?
的字符,然后是\(.+?\)
内有一对括号的字符。