【问题标题】:Regular Expression - Get Strings Before and After First Spaced Hyphen正则表达式 - 在第一个间隔连字符之前和之后获取字符串
【发布时间】:2022-08-04 00:09:07
【问题描述】:

我知道这可以通过字符串拆分来完成,但我实际上对此正则表达式解决方案感兴趣。基本上,我想在间隔连字符(\“ - \”)之前和之后检索整个字符串。我试过了:

^[^-]*

这适用于像这样的字符串

EK725 - London to Paris

但是一旦有一个不带空格的连字符,比如

EK-725 - London to Paris

它崩溃了。使用^[^ - ]* 似乎也不起作用。另外,我不确定在间隔连字符后检索文本的语法是什么。解决方案是什么?

  • 如果您的格式始终在要拆分的连字符周围有空格 - 在您的模式中在 - 周围放置空格。
  • ^(.+) - (.+)$

标签: c# regex string split


【解决方案1】:

这对你有用吗?

(^.+(?= - ))|((?<= - ).+$)

检查demo

【讨论】:

    【解决方案2】:

    这应该工作

    [a-zA-Z]+([+-]?(?=\.\d|\d)(?:\d+)?(?:\.?\d*))(?:[eE]([+-]?\d+))? - ([a-zA-Z]+( [a-zA-Z]+)+)
    

    如果您想自己尝试的话,它是带有 GUI 的非常简洁的工具。 https://regex-generator.olafneumann.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 2021-02-23
      • 1970-01-01
      相关资源
      最近更新 更多