java正则表达式 两个条件怎么写?本来一个过滤条件的时候是可以的,加多了另一个条件就不行了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java正则表达式 两个条件怎么写?本来一个过滤条件的时候是可以的,加多了另一个条件就不行了相关的知识,希望对你有一定的参考价值。

请看图片:Pattern pattern1 = Pattern.compile("^yc.*"); Matcher matcher1 = pattern1.matcher(user.getLoginName()); boolean b1= matcher1.matches(); Pattern pattern2 = Pattern.compile("^gz.*"); Matcher matcher2 = pattern2.matcher(user.getLoginName()); boolean b2= matcher2.matches(); if(b1==false || b2==false)

根据你的判断上来看,你是希望只要前面这个条件或者后面这个条件满足判断就会执行到If里面,“”||“”是或:表示左右两个条件满足其中一个就会执行到IF里面,如果你希望要两个条件多要满足才执行到IF里面的话就是用“”&&“” 参考技术A ^[yc|gz].*追问

大神,^[yc|gz].*这样是可以了,可是为什么^[yc|ng].* 和^[yc|gg].* 都能把字符串“gzzzcgw”过滤掉呢?无论是ng,gg,ag,ga,gb,gc只要有g都能把字符串“gzzzcgw”过滤掉了,可是我要的是过滤掉含“gz”开头的字符串而不是“g”开头的字符串。。。

追答

我明白你的意思了,^yc|gg.*这样就可以了

追问

厉害,还有一个小问题,^yc|gz.*这样虽然是可以过滤以“gz”开头的字符串了,但是过滤不了以“yc”开头的字符串。。。我尝试了一下改成^gz|yc.*,然后就变成只能过滤yc开头的字符串,gz开头就过滤不了了。。。

追答

(^yc|gz).*,不好意思太久没写了有点生了

本回答被提问者采纳

sqlalchemy 动态查询条件怎么写

参考技术A 通过Flask-SQLAlchemy提供的一个query属性,当你通过model类的query属性,你可以得到一个数据库表的查询结果集。
i.User.query.filter_by(username='peter').first(),通过filter_by方法里的条件表达式来对query所得到的结果集进行过滤,得到你想要得到的结果。
example:
Retrieve a user by username通过username属性为’peter‘过滤结果集:
>>> peter = User.query.filter_by(username='peter').first()
>>> peter.id
1
>>> peter.email
u'peter@example.org'
当不存在结果集时返回none:
>>> missing = User.query.filter_by(username='missing').first()
>>> missing is None
True本回答被提问者采纳

以上是关于java正则表达式 两个条件怎么写?本来一个过滤条件的时候是可以的,加多了另一个条件就不行了的主要内容,如果未能解决你的问题,请参考以下文章

Java用正则表达式 过滤特殊字符,只允许中文、字母或数字,该怎么写?急。。。。

正则表达式中两个不同的匹配条件怎么在一条语句里执行

用Java正则表达式来过滤Excle格式。比如Excle文件格式有.xlsx”和.xls两种。那么正则表达式怎么写呢。

java正则表达式过滤特殊字符

正则表达式-java

Js正则表达式的如何写这样一个匹配规则!1) 取指定范围的内容 2)过滤指定范围的内容