「パイプ」文字 (|) のインスタンスにのみ一致するように RegEx を作成しようとしていますが、その後に 1 つ以上のパイプが続きません。したがって、パイプの後にパイプ以外のものが続きます。
私はこれを持っていますが、動作していないようです:
/|(?!/|)
「パイプ」文字 (|) のインスタンスにのみ一致するように RegEx を作成しようとしていますが、その後に 1 つ以上のパイプが続きません。したがって、パイプの後にパイプ以外のものが続きます。
私はこれを持っていますが、動作していないようです:
/|(?!/|)
あなたはpipe間違って逃げています。backslashではなく、を使用する必要がありますslash。それとは別にnegative look-behind、パイプが一致しないように を使用する必要もありますlast。これはおそらくパイプが前になく、後にはありません: -
(?<!\|)\|(?!\|)
通常、正規表現のメタ文字クラスに一致させたい場合は、エスケープするよりも文字クラスを使用することを好みます: -
(?<![|])[|](?![|])
でも、それは私の好みです。
さて、何度も繰り返した後、答えを見つけました。これは、進行せず、パイプが続かない単一のパイプ文字のみに一致します。
(?=(\|(?!\|)))((?<!\|)\|)
(行頭または非パイプ) パイプ (行末または非パイプ) に一致します。
(^|[^|])[|]([^|]|$)