求几个正则表达式拉~ 标题要够长
5.每个2均在每个9之前的所有数字串。
6.所有的a串和b串,且不包含3个连续的b。
7.包含单数个a或/和单数个b的所有a串和b串。
8.包含偶数个a和偶数个b的所有a串和b串。
9.a个b数目相等的所有a串和b串。
最近在练习正则表达式 四处搜罗题目~
这几个不会写
------解决方案--------------------have a try to no.8
C# code
(aa)+|(bb)+
------解决方案--------------------
------解决方案--------------------
so the no.7
C# code
a(aa)?|b(bb)?
------解决方案--------------------
------解决方案--------------------
5.
^\w*29\w*
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
C# code
5.
"^([^2]*2(?=[^9]*9))+[^9]*9[^29]*$"
/*
"jlfjais2laskdfjl9alsf2lalsidf9asdf" true
"sdfljis2lajskflas" false
*/
其他的没看懂
------解决方案--------------------
第 6、7 楼的不正确,有待进一步考虑。
------解决方案--------------------
整体来说,所有需求都不够明确
5.每个2均在每个9之前的所有数字串。
C# code
//需求不明确,只有2或只有9的数字串符不符合要求,2和9都没有的数字串符不符合要求
//我的理解
^(?![^2]+$)(?![^0-9]+$)[^9]*9[^2]*$
------解决方案--------------------
------解决方案--------------------
11楼写的有问题,应该这样
C# code
//目前是2和9必须出现,且所有的2都在9前面
^(?![^2]+$)(?=[0-9]+$)[^9]*9[^2]*$
------解决方案--------------------
后面的几个题目,要根据实际需求来写,单纯用一个正则我认为还是可以实现的,但绝不是最优实现
根据实际需求,结合程序逻辑判断,用多个正则实现更好
------解决方案--------------------
------解决方案--------------------
做记号