我的心将继续 - 席琳迪翁
我的心将继续 - 席琳迪翁
我的心将继续 - 席琳迪翁
我的心将继续 - 席琳·迪翁
我的心将继续——席琳·迪翁
我的心将继续 - 席琳·迪翁
这就是我的示例字符串。每行必须包含一个短连字符。并且短连字符之前或之后的空格可以是任意数量的空格,即使某些行在短连字符之前或之后没有空格。我需要从每一行匹配 2 组字符串。
My heart will go on
和Celine Dion
。那么哪个正则表达式可以做到这一点?
/(.*)(\s\-\s)(.*)/gm
当短连字符前后有一个空格时,此正则表达式可以匹配
^(.*?)[\p{Zs}\t]+-[\p{Zs}\t]+(.*)
此正则表达式可以匹配短连字符前后任意数量的空格。但是当短连字符之前或之后没有空格时就会出现问题。
以下模式似乎有效:
(.*?)(?:\s*-\s*)(.*)
此匹配:
(.*?)
以下所有内容,但不包括(?:\s*-\s*)
可选空格、连字符和可选空格(.*)
所有剩余内容