2016-06-14 13 views
0

区切り記号を使用して1つの記号よりも長い文字列を分割したい。複数文字区切り文字を使用して文字列を分割する

たとえば、これはandorやカンマを使用して分割する必要があります。

"red lorry, yellow lorry and brown lorry".split(someRegexp)

は生成する必要があります:

["red lorry", " yellow lorry", "brown lorry"]

をそれにスペースをトリミングする正規表現のための必要はありません、この缶を後で行う。

答えて

3

あなたは例

> "red lorry, yellow lorry and brown lorry".split(/,|\b\s*(?:and|or)\s*\b/) 
< ["red lorry", " yellow lorry", "brown lorry"] 
  • \bは、単語の境界にマッチ

    /,|\b\s*(?:and|or)\s*\b/ 
    

    正規表現を使用することができます。これにより、orandが別の単語内で一致しないことが保証されます。

+0

いいえ、単語境界の正しい配置は '/、| \ s * \ b(?:および| or)\ b \ s * /'です。 –

+0

あなたはなぜそれが@ウィクスターストリビュジューと思いますか?正規表現には別の意味があります。 –

+0

@bobblebubble: 'または'と 'と'を全体の単語としてマッチさせるつもりはありませんか?もしそうなら、私はグループ化構造の周りに単語の境界線を置くことが適切だと思います。それ以外の場合は、スペースが残っている可能性があります(https://regex101.com/r/yO7kI0/1)。 –

関連する問題