正则表达式范围但不唱歌

时间:2018-09-22 12:07:21

标签: regex

这是一个文本:6:0 FC Bayern Muenchen - Werder Brem
我要:FC Bayern Muenchen

我的尝试:
\s.*-给出FC Bayern Muenchen -
\b\s.*\b-与任何内容都不匹配

2 个答案:

答案 0 :(得分:1)

尝试一下:

\s[^-]+

其中[^-]表示不是-的任何字符

答案 1 :(得分:0)

正则表达式:/(?<![a-z ])[a-z ]+(?![a-z ])/i,在此处进行测试:https://regexr.com/3vv2b

说明:

  1. 不需要的字符后面的负向→→(?<![a-z ])
  2. 至少一个通缉字符→[a-z ]+
  3. 否定的多余字符→(?![a-z ])

PHP示例:

if (preg_match_all('/(?<![a-z ])[a-z ]+(?![a-z ])/i', $test, $matches)) {
        print_r($matches);
}

输出:

Array
(
    [0] => Array
        (
            [0] =>  FC Bayern Muenchen
            [1] =>  Werder Brem
        )
)