正则表达式:如何分隔用户名:密码? 我需要一个代码来分隔2个不同的列表usernames和passowrds
BaseActivity
等
最终名单:
john:123
place:Abc457
等
和2'nd list.txt
john
place
等
我更喜欢密码而不一定是用户名,谢谢
答案 0 :(得分:0)
我会使用(.*?):(.*)
。然后,您可以将用户名作为组1(替换中为$1
),将密码作为组2进行访问。
要创建第一个文本文件,请使用$1
(http://regexr.com/3b8as)
john
place
要创建第二个文本文件,请使用$2
(http://regexr.com/3b8av)
123
Abc457
答案 1 :(得分:0)
根据您不需要的用户名忽略用户名,但修改以下示例以保留用户名是微不足道的。下面的示例显示了Python和Perl的正则表达式提取和拆分操作。
Python正则表达式:
>>> import re
>>> s = "john:123"
>>> pw = []
>>> pw.append(re.match(r'.*?:(.*)', s).group(1))
>>> pw
['123']
Perl正则表达式:
my $s = "john:123";
my @a;
$s =~ /.*?:(.*)/;
push @a, $1 if $1;
print @a;
Python split:
>>> s = "john:123"
>>> pw = []
>>> pw.append(s.split(':')[1])
>>> pw
['123']
Perl分裂:
my $s = "john:123";
my @a;
push @a, (split(/:/, $s))[1];
print @a;