3

私はMATLABで作業しており、を含むが含まないregexp()ファイル名のみに一致する正規表現を見つけようとしています. 私の問題は、ファイル名がand 、またはandのように見えることです。CytoCytoBlueTexture_Variance_Cyto_4_90Texture_Variance_CytoBlue_4_90HIST_9BinsHistBin7_CytoHIST_9BinsHistBin7_CytoBlue

一致させようとするとCyto、 を含むすべてのファイルもキャプチャされますCytoBlue。を一致させようとすると、が最後の要素Cyto_であるファイル名を見逃してしまいます。Cyto「_または文字列の末尾に一致する」というものが必要だと思います。試してみCyto[_\Z]ましたが、うまくいきません。また、で終わるすべての要素が見つかりませんCyto

4

3 に答える 3

1
Cyto(?=$|_)

これCytoは、 ( )"(?=...)"文字列の末尾 ( "$") または_. アンダースコアは一致の一部として返されないことに注意してください。

于 2012-08-04T16:37:26.190 に答える
0

MATLAB は正と負の先読みをサポートしているため、これは機能するはずです。

Cytp(?!Blue)

...「青」が続かない「Cyto」を意味します。

于 2012-08-04T17:55:26.557 に答える
0

次の正規表現を使用します。Cyto(_.*?(?= ))?\b

于 2012-08-04T16:36:43.723 に答える