我有一个实验条件列表,看起来像此表的左列:
------------------------------------------------------------------------
| Input | Output |
------------------------------------------------------------------------
| ID1_sWT_c1_ext_x1 | sWT |
| ID29_s3KO_pNodC_VcCDA_c3_ext_x1 | s3KO_pNodC_VcCDA |
| ID47_s3KO_pTet_NodC_VcCDA_50ng_c3_ext_x1 | s3KO_pTet_NodC_VcCDA_50ng |
------------------------------------------------------------------------
我想使用正则表达式在右列中获得输出(这是必需的!)。基本上忽略第一个下划线(_
)之前(包括下划线)的所有内容,而忽略倒数第二个下划线之后的所有内容(包括下划线)。我自己做了一些尝试,并提出了一种解决方案,将所有内容分为两组,并在第一个下划线之前忽略了此内容:
(?<=\_).*[A-Za-z0-9_]*(_[^_]*_[^_]*_[^_]*)$
但是,现在我陷入困境,并且想知道是否有人知道一个好的解决方案。
我正在与Matlab合作。我需要用它来将所有生物复制品(分别表示为c1
,c2
和c3
)组合在一起。
答案 0 :(得分:1)