正则表达式:如何分隔用户名:密码?

时间:2015-06-07 20:25:59

标签: regex

正则表达式:如何分隔用户名:密码? 我需要一个代码来分隔2个不同的列表usernames和passowrds

BaseActivity

最终名单:

john:123
place:Abc457

和2'nd list.txt

john
place

我更喜欢密码而不一定是用户名,谢谢

2 个答案:

答案 0 :(得分:0)

我会使用(.*?):(.*)。然后,您可以将用户名作为组1(替换中为$1),将密码作为组2进行访问。

要创建第一个文本文件,请使用$1http://regexr.com/3b8as

john
place

要创建第二个文本文件,请使用$2http://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;