我有以下文字模式:
os2v一些文本openssl-56测试未成立
并且需要在未建立测试之前提取单词,即在这种情况下:openssl-56
目前我已尝试使用此正则表达式:
if (m/os2v (\s+) test is NOT founded/i){
print $1
}
但是为什么代码没有输入if语句?
答案 0 :(得分:3)
显而易见的问题是,您的文字不包含“更新”字样,而\s
会与空格相匹配。
答案 1 :(得分:1)
问题是由于您的模式不正确,您没有得到匹配。以下模式将匹配并为您提取openssl-56
:
(\S+)(?=\stest Is Not founded)
答案 2 :(得分:1)
试试这个:
m/os2v .*\s([^\s]+) test is NOT founded/i
答案 3 :(得分:0)
摆脱(\ s +)
之前和之后的空间