从捕获组中排除子字符串

时间:2014-08-28 14:18:41

标签: regex pcre

我正在使用一个采用PCRE兼容正则表达式的系统。

系统将捕获组1存储到数据库中。

我需要捕获带分隔符的字符串的两半,不包括分隔符,作为单个捕获组。

给出字符串:"我想捕获这一位但不是这一点,绝对是这一点"

我知道我可以创建一个正则表达式:

([A-Za-z/s]*) but not this bit([A-Za-z/s]*)

这会给我两个捕获组: 第1组:"我想抓住这个位" 第2组:"绝对是这个"

但是,我错过了一半的结果,因为第1组是所有存储的。

1 个答案:

答案 0 :(得分:2)

您可能正在考虑分支重置功能。但这只是一个假设。

(?|([a-zA-Z\s]+) but not this bit|([a-zA-Z\s]+))

如评论中所述,您可以使用正确的语法解决此问题。

([A-Za-z\s]+) but not this bit([A-Za-z\s]+)