我正在尝试创建检测某些字符串的模式。基本上,目的是在字符串中检测'ABCDEF'然后返回“true”。但是在'ABC'和'DEF'之间,会有(L +计数)或(数字)或不像下面的例子。 BTW以下所有示例都返回“true”。 如果有人可以建议如何忽略“ABC”和“DEF”之间的数字和字符组合,那真的很感激吗?
ABC(L30)(345)DEF, ABC(L2)(45)DEF, ABCDEF, ABC(L10)DEF, ABC(2)DEF
答案 0 :(得分:1)
正则表达式构思思路:
#!/usr/bin/python import re r=re.compile("ABC(\(L[0-9]+\)|\([0-9]+\)|)*DEF"); lines = [ "ABC(L30)(345)DEF", "ABC(L2)(45)DEF", "ABC(L30)DEF", "ABC(345)DEF", "ABCDEF", "ABCxyzDEF", "ABC(L)DEF", "ABC(A)DEF", "ABC()DEF", ] for str in lines: if r.match(str): print " match : %s" % str else: print "not match : %s" % str
输出:
match : ABC(L30)(345)DEF match : ABC(L2)(45)DEF match : ABC(L30)DEF match : ABC(345)DEF match : ABCDEF not match : ABCxyzDEF not match : ABC(L)DEF not match : ABC(A)DEF not match : ABC()DEF
答案 1 :(得分:0)
<my-directive ng-repeat="item in items = ( data | filter: {isExists: true})">
something
</my-directive>
<my-second-directive counter="{{items.length}}"></my-second-directive>