0

次の文字列が番号1と一致するかどうかを確認しています

23_13_15_145_34_1_135

23_13_15_145_34_1

1_23_13_15_145_3

私はそれを正確に一致させたいだけなので、最初の例には13、15、または145を含めることはできず、1だけを含める必要があります。

文字列の最初と最後に1が付いた、開始と終了の例と同じです。

4

2 に答える 2

2

これを試して:

/(^|_)1(_|$)/

1文字列の先頭(^)または_文字の直前と、別の_文字または文字列の末尾( )が直後にあることを確認します$

そしてもちろん、?:気になる場合(そしてREエンジンがそれをサポートしている場合)、キャプチャを回避するために各グループに追加します。

/(?:^|_)1(?:_|$)/
于 2012-07-09T21:50:31.640 に答える
0

以下が機能するはずです(ルックアラウンドを使用):

(?<!\d)1(?!\d)

この正規表現は単一の1文字に一致しますが、その前後に数字がない場合に限ります。

于 2012-07-09T21:56:37.997 に答える