在我的字符串中(从this turorial采用的示例)我希望在通用.
模式之后的第一个(year).
之前获取所有内容:
str = 'purple alice@google.com, (2002).blah monkey. (1991).@abc.com blah dishwasher'
我想我的代码几乎已经存在但尚未完成:
test = re.findall(r'[\(\d\d\d\d\).-]+([^.]*)', str)
...返回:['com, (2002)', 'blah monkey', ' (1991)', '@abc', 'com blah dishwasher']
所需的输出是:
['blah monkey', '@abc']
换句话说,我想找到年份模式和下一个点之间的所有内容。
答案 0 :(得分:5)
答案 1 :(得分:1)
您以错误的方式使用$count = 0;
if($a==$b){
switch(true){
default:
if($b==$c){
$count = $count + 3;
break; // By this break you will be going out of switch and execute remaining code of $count++.
}
$count = $count + 5; //
}
$count++;
}
。试试[...]
:
\(\d{4}\)\.([^.]*)\.
作为参考,>>> s = 'purple alice@google.com, (2002).blah monkey. (1991).@abc.com blah dishwasher'
>>> re.findall(r'\(\d{4}\)\.([^.]*)\.', s)
['blah monkey', '@abc']
指定character class。使用[...]
您说的是:[\(\d\d\d\d\).-]
之一。
答案 2 :(得分:1)
这应该可以解决问题
print re.findall(r'\(\d{4}\)\.([^\.]+)', str)
$ ['blah monkey', '@abc']