【问题标题】:Regex for escaping path separator in url用于在 url 中转义路径分隔符的正则表达式
【发布时间】:2014-07-14 01:12:21
【问题描述】:

我有一个 url 模式:“somepath/email/”。我不想为匹配电子邮件编写正则表达式,而是我想要任何不是路径分隔符的东西来匹配电子邮件。

请为此建议一个正则表达式。我正在使用 Python,并且 url 用于 Django 应用程序,因此任何库函数也会有所帮助,但我更喜欢正则表达式。

【问题讨论】:

  • 路径分隔符的意思是它不应该是“/”或“\”。它应该只匹配电子邮件而不关心特殊字符。主要座右铭是不要为匹配电子邮件编写复杂的正则表达式。
  • 你也可以简单地使用这个r'something/(?P<email>[^/\\]+)',它可以匹配更接近于电子邮件的内容
  • 如果你需要它作为面包屑,那么请注意,在 Django 中有更好的方法。
  • @vlad-ardelean 谢谢!这是我一直在寻找的东西。

标签: python regex django


【解决方案1】:

正则表达式[^/\\]+ 是带有+ 量词的负字符类,它匹配任意数量的不是/\\ 的字符

代码示例:

match = re.search("[^/\\]+", subject)
if match:
    result = match.group()
else:
    result = ""

【讨论】:

  • 谢谢,我忘了说它也不应该是“\”。
  • @bitgeeky 修改了正则表达式,如果这就是你要找的,请告诉我。 :)
  • 谢谢,这是我正在寻找的东西 r'something/(?P[^/\]+)'
  • @bitgeeky 不客气,周末愉快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 2014-04-27
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
相关资源
最近更新 更多