我正在尝试编写一个正则表达式,它应该显示一个字符串,直到它找到一个空格后跟一个连字符“-”的部分。如果它没有找到这个模式,它应该显示整个字符串。字符串中可以有其他空格或连字符。
以下正则表达式适用于大多数字符串值,其中所需的部分包含在 $1 中:
^([^ ]+[^-]+)( -).+
输入字符串并在上述正则表达式的第 1 组中匹配 -
- 伦敦-巴黎东京 --> 伦敦-巴黎
- 伦敦马德里 - 巴黎-柏林-罗马 - 东京 --> 伦敦马德里
- 伦敦 巴黎 - 柏林 东京 --> 伦敦 巴黎
- 伦敦巴黎 --> 伦敦巴黎
但是,上述正则表达式与以下情况不匹配:
- 伦敦巴黎(一些文字) - 柏林/东京
我尝试了一些正则表达式的变体,也有负前瞻,但无济于事。
任何帮助,将不胜感激!谢谢
编辑: 感谢大家提供有用和解释性的建议,但是下面@Vince 的回答非常适合我的需求。我在下面添加了评论