我可以使用什么正则表达式将字符串拆分为a-zA-Z对?

时间:2010-10-11 21:03:38

标签: regex

有人可以告诉我正则表达式应该在

中搜索哪些内容
V. Guimaraes - FC-Porto

并发出:

  1. V. Guimaraes
  2. FC-Porto
  3. 来源也可能是:

    1. V. Guimaraes - FC-Porto 2:2
    2. V. Guimaraes - FC-Porto Foo
    3. 所以,我不希望我的对包含得分。

5 个答案:

答案 0 :(得分:1)

您可以使用编程语言的基本字符串函数将字符串拆分为“ - ”。这样你甚至不需要任何正则表达式。

答案 1 :(得分:0)

(.*) - (.*)怎么样?

答案 2 :(得分:0)

([\S\W]*)[\s]{1}-[\s]{1}([\S\W]*)

您可以从第1组和第2组$1:$2

获取答案

答案 3 :(得分:0)

搜索:"(V.\s+Guimaraes)\s*-\s*(FC-Porto\b).*?"\s+"\1\s*-\s*\2.*?"

替换为:"$1"\r"$2"

因此,如果您使用的是PHP,那么它将是:

  $result = preg_replace('/"(V.\s+Guimaraes)\s*-\s*(FC-Porto\b).*?"\s+"\1\s*-\s*\2.*?"/', '"$1"\r"$2"', $sourcestring);

密钥为$1 $2,其中包含第一个和第二个结果。 \r表示返回字符(输入),您可以将其替换为您想要的任何内容,例如一个空间。

下次,请提及正在使用的正则表达式库或应用程序。

答案 4 :(得分:0)

使用首选语言的split功能执行此操作。例如Python

>>> s="V. Guimaraes - FC-Porto 2:2"
>>> s.split("-",1)
['V. Guimaraes ', ' FC-Porto 2:2']