bash では、配列に存在する有効な属性を一致させようとしています。属性は、先頭に感嘆符 (感嘆符、!) を付けることで「無効」にすることができます。この場合、それらを一致させてはなりません。私はこれを持っています:
[[ ${TESTS[@]} =~ [^\!]match ]]
これは、「一致」という単語が TESTS にあり、前に ! がない場合に true を返します。
一致する単語が配列の最初の位置にある場合を除いて、機能します。問題は、正規表現が「! ではない何かが前に付いている一致」と言っていることです。. 最初の項目の場合、前に何もないため、一致しません。
上記を変更して「前に ! を付けないで一致」と言うにはどうすればよいですか? ?
他の質問への回答を読むことから(?<!!)matchを試しましたが、これは機能しません。