正规新手在这里。我需要创建一个支持以下字符串的正则表达式:
<optional constant string 1><string 2><space><string 3>
此处常量字符串1为:ad_
Ex(允许的模式)。
[1]
ad_xyz.qwe.sty blah blah...
字符串1:ad_
字符串2:xyz.qwe.sty
string 3:blah blah ...(自由文本)
[2]
abc blah ...
字符串1 :(缺席)
字符串2:abc
字符串3:等等......(自由文本)
[3]
sdf.pqr blah blah blah...
字符串1 :(缺席)
string 2:sdf.pqr
string 3:blah blah blah ...(自由文本)
以下是我正在做的事情:
(?:[ad_]{0,1})?\-[a-zA-Z.]*\.[a-zA-Z0-9]*
现在只检测第一个模式。虽然我已经提到{0,1}
,但仍然必须使用string 1
。
答案 0 :(得分:2)
您可以将此正则表达式用于第一组中的可选匹配项:
^(ad_)?(\w+(?:\.\w+)*)\s*(.*)$
在正则表达式[...]
中,character class只有一个字符中的一个字符匹配,因此[ad_]
匹配a
或{{1}中的任何一个字符}或d
答案 1 :(得分:1)
我的建议是使用这个正则表达式字符串:
Drawable thisDrawable = drawableFromUrl(url);
toolbar.setLogo(thisDrawable);