我有一个格式为"501h-1-c2950-0a1 blah blah blah 501h-1-c2950-01.yahoo.com 501h-1-c2950-01.blog.com %%%501h-1-c2950-0a1 blah blah _____501h-1-c2950-01 501h-1-c2950-01"
的字符串。
由此我想分别提取501h-1-c2950-01
,501h-1-c2950-01.yahoo.com
部分。
这意味着如果我使用字母数字后跟' - ',我会提取它们。如果后面跟着[DOT][anything][DOT][anything]
,我会提取它们。
所以我的最终输出将有
501h-1-c2950-0a1,501h-1-c2950-01.yahoo.com,501h-1-c2950-01.blog.com,501h-1-c2950-0a1,501h-1-c2950-01,501h-1-c2950-01
。
我尝试了很多正则表达式而没有做到。有什么帮助吗?
答案 0 :(得分:0)
试试这个,$s
是你的输入字符串:
my @arr = $s =~ /([a-zA-Z0-9.-]+-[a-zA-Z0-9.-]+)/g;
这里,正则表达式检查强制性连字符-
是否在字母数字,点,连字符序列之间。