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