string の例"a f e $s $a"
では、先頭に「$」文字を付けずにすべての文字に一致させたいと考えています。
私は否定的な先読みを使用しようとしました:
"(?!\\$)[a-z]"
$s
ただし、 andにも一致し$a
ます。私が間違っていることは何ですか?
否定後読みを使用する(?<!\\$)
"(?<!\\$)[a-z]"
あなたは否定的な先読みを使用していました(?!\\$)
これは先読みアサーションです。つまり、ドル記号ではない任意の文字、つまりすべての文字に一致します:)
後読みが必要です:
"(?<!\\$)[a-z]"
負の後読みの正しい構文は、負の先読みであるため、(?<!...)
ではなく(?!...)
です。
使用パターン
(?<!\\$)[a-z]