好吧我对RegEx很可鄙,因为我很少需要它,但我发现自己处于这样一种情况:一个简单的解析就是没有削减它。因此,在我坐在这里工作后试图自学整个RegEx之后,我终于放弃并向专家们询问。我只是解析一个sql文件并将其拆分为GO
语句。问题是我不能用其他词语来拉 GO ,比如CREATE TABLE GOPHER
。所以我觉得我很安全,因为当我有一行只有空格而且 GO 这个词不区分大小写时,我会分开。
这就是我所拥有的,我认为它非常接近,但我做错了,因为它目前还没有匹配。
^+\s*[GO]\s*\Z
*注意案例可以用忽略案例标记来处理,所以我不担心这个
如果我只是写
^+[GO]+\Z
它主要起作用,但它不会忽略GO
之前和之后的空格,我认为\s*
会这样做,但它似乎没有返回任何匹配。任何人都能为我解决这个问题,并简要解释一下我在这里流淌的是什么?
答案 0 :(得分:3)
使用Regex.Split模式@"(?<=\bGO\b)"
,它与完整单词“GO”之后的零宽度边界匹配。
见