当前位置: 首页 > 知识库问答 >
问题:

Regex获取第一个斜杠之前的所有内容,引号之间除外

寿子默
2023-03-14

我希望创建一个正则表达式来提取第一个斜杠之前的所有内容,除非它是单引号或双引号。目前,我有:

^(.*?)/

现在,我迷路了。根据下面的不同文本,我只想要下面粗体部分:

文本

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

共有2个答案

葛永丰
2023-03-14

怎么样:

^(.*?)\/(?=([^\"\']*\"[^\"\']*\")*[^\"\']*$)

参见Regex演示

使用组1

颛孙麻雀
2023-03-14

您可以使用

^(?:[^/"']|"[^"]*"|'[^']*')+

查看regex演示

细节

  • <代码>^-字符串开头
  • <代码>(?:[^/”]|“[^”]*“[^”]*”|“[^”]*”) -出现一次或多次
    • [^/”]-除/
    • <代码>或
    • “[^”]*”-a,除以外的任何0个字符,然后
    • <代码>或
    • '[^']*'-a',除'以外的任何0个字符,然后

 类似资料:
  • 问题内容: 如何提取Python中URL中最后一个斜杠之后的内容?例如,这些URL应该返回以下内容: 我已经尝试过urlparse,但这给了我完整的路径文件名,例如。 问题答案: 您不需要花哨的东西,只需在标准库中查看字符串方法即可,并且可以轻松地在“filename”部分和其余部分之间拆分url: 因此,您可以简单地通过以下方式获得您感兴趣的部分:

  • 我有这样一个价值观: 什么正则表达式将返回包含在引号中的值(例如和)?

  • 问题内容: 我想查询从50以上的所有记录。因此,与其做类似我不想知道是否有正式方法的事情。 问题答案: 不,对不起 从MySQL文档: 要检索从某个偏移量到结果集结尾的所有行,可以为第二个参数使用较大的数字。该语句检索从第96行到最后一行的所有行:

  • 问题内容: 在中,我想找到标记以及两者之间的所有内容,如下所示: 我想找到标记以及之间的所有内容,然后将其删除。 标签之间的所有内容都是变量,但是我想在获得时删除整个标签和子标签。 有人知道该怎么做吗? 问题答案: 使用正则表达式进行HTML / XML解析不是一个好主意… 但是,如果仍然要执行此操作,请搜索正则表达式模式 并将其替换为空字符串…

  • 我有一个包含大量数据的xml文件,但它也包含一个ID列表,如下所示 到目前为止,我已经搜索了测试id,它给了我一个所有数字的列表,但它并没有过滤掉额外的信息。 使用sublime文本中的正则表达式,如何获得之后所有数字的列表? 因此,从上面的示例中,我将有3行: >