3

「パイプ」文字 (|) のインスタンスにのみ一致するように RegEx を作成しようとしていますが、その後に 1 つ以上のパイプが続きません。したがって、パイプの後にパイプ以外のものが続きます。

私はこれを持っていますが、動作していないようです:

/|(?!/|)
4

3 に答える 3

5

あなたはpipe間違って逃げています。backslashではなく、を使用する必要がありますslash。それとは別にnegative look-behind、パイプが一致しないように を使用する必要もありますlast。これはおそらくパイプが前になく、後にはありません: -

(?<!\|)\|(?!\|)

通常、正規表現のメタ文字クラスに一致させたい場合は、エスケープするよりも文字クラスを使用することを好みます: -

(?<![|])[|](?![|])

でも、それは私の好みです。

于 2013-02-07T16:10:27.747 に答える
0

さて、何度も繰り返した後、答えを見つけました。これは、進行せず、パイプが続かない単一のパイプ文字のみに一致します。

(?=(\|(?!\|)))((?<!\|)\|)
于 2013-02-07T16:41:50.437 に答える
0

(行頭または非パイプ) パイプ (行末または非パイプ) に一致します。

(^|[^|])[|]([^|]|$)
于 2013-02-08T23:54:45.590 に答える