用于在向后和向前斜杠上分离的正确RegEx语法是什么?
对于Oracle,我尝试过:
的字符串
word1\/word2\/word3
regexp_substr(string, '[^"\\/"]+', 1, 1) first
但它无法正常工作
答案 0 :(得分:0)
您正在使用角色类[^"\\/"]
;选择不在集 {", /, \}
中的所有字符。这可能不是你想要的。
相反,请尝试
`.*?(\\/|$)`
这将匹配\/
或字符串的结尾,以先到者为准。请注意,匹配中\/
将包含,因为Oracle的regexp_substr
似乎不支持先行断言。
答案 1 :(得分:0)
如果您想获得所有字词,只需将\/
替换为space
:
select REPLACE ('word1\/word2\/word3','\/',' ') "changes" FROM dual
或者如果你只想要第一个词:
select REGEXP_SUBSTR('word1\/word2\/word3', '[^\\^/]+') "changes" FROM dual