工作,我有喜欢的格式的字符串:不能得到一个特定的正则表达式在Perl
project-version-project_test-type-other_info-other_info.file_type
我可以去除大部分的我需要走出这个字符串在大多数情况下的信息。当我的版本中有一个额外的限定字符时(即通常是5个字符,但有时添加了6个字符),我会遇到麻烦。我之前使用子字符串去除多余的信息并获得'project_test-type',但是现在我需要切换到正则表达式(主要是为了处理额外的版本字符)。我可以继续使用子字符串,并根据我是否有额外的版本字符来改变长度,但是在这里,正则表达式似乎更合适。
我尝试使用模式,如:
my ($type) = $_ =~ /.*-.*-(.*)-.*/;
但额外的“ - ”我不能简单地空间我正则表达式使用的字符在“project_test型”是指。
什么正则表达式可以用来从我的字符串中获取'project_test-type'?
的更多信息: 作为更人类可读例如,该信息通过以下方式被分组:
project - version - project_test-type - other_info - other_info . file_type
- '项目' 是字符的一个简单的字符串
- '版本'通常是一个5整数的字符串,但有时后面跟着一个字符,即11111是正常的,11111A是罕见的发生。
- 'project_test-type'是与项目相关的特定测试,它可以同时具有'_'和' - ',否则为char名称
- 'other_info'的两种情况都是系统的附加位信息一个IP地址或另一个版本号。第一没有固定的长度,而第二始终为10个字符长
您能否为项目版本,other_info等添加哪些值? – maraca
你能举例通常5,有时6吗? –
@karthikmanchala通常版本是11111,有时版本是11111A – jkeuhlen