我希望创建一个Regex来提取第一个斜杠之前的所有内容,除非它是单引号或双引号。目前,我有:
^(.*?)/
现在,我很茫然。基于下面的不同文本,我只需要下面的加粗部分:
文本
abc,def,ghi,jkl,mno / 123
/ abc,def,ghi,jkl,mno 123
abc, / def,“ / ghi”,jkl,mno / 123
abc,def,“ / ghi”,jkl,mno / 123
abc,def,'/ ghi',jkl,mno / 123
答案 0 :(得分:1)
您可以使用
^(?:[^/"']|"[^"]*"|'[^']*')+
请参见regex demo
详细信息
^
-字符串的开头(?:[^/"']|"[^"]*"|'[^']*')+
-出现1次或以上
[^/"']
-除/
,"
和'
以外的任何字符|
-或"[^"]*"
-一个"
,除了"
以外的任何0+字符,然后是"
|
-或'[^']*'
-一个'
,除了'
以外的任何0+字符,然后是'
答案 1 :(得分:0)